我有一个字节数组,定义为指针+大小:
size_t size; // size in bytes
void *data; // NOT zero-terminated string
如何从中构造(最好是零拷贝)"字符串"?
这假设data
指向不可变内存:
string s = (cast(immutable(char)*)data)[0..size];
如果没有,char[]
将比字符串更合适,或者您可以用.idup
制作一个不可变的副本。