有没有办法将字符串转换为二进制D
问题描述:
我想将二进制数据写入文件以进行辅助哈希表操作,然后使用stream.rawRead()将其读回。我将如何将字符串转换为D中的二进制文件。如果可以,我宁愿不使用任何第三方库。谢谢有没有办法将字符串转换为二进制D
答
附注 - 如果你的字符串是ASCII,它是非常简单的:
// following will not work:
// ubyte[] stringBytes = cast(ubyte[]) "Добар дан!".dup;
ubyte[] stringBytes = cast(ubyte[]) "Hello world".dup;
writeln(stringBytes);
char[] charr = cast(char[]) stringBytes;
writeln(charr);
string str = to!string(charr);
writeln(str);
输出:
[72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]
Hello world
Hello world
由于拉契特指出的那样,你将需要某种Unicode转换的.. 。
+1
哇,这两个建议已经发现!谢谢你和棘轮巨大的怪胎。 – Coldstar 2014-09-03 15:38:08
这就是我想要让我开始。谢谢 – Coldstar 2014-09-03 12:54:59