我想将二进制数据写入文件以进行辅助哈希表操作,然后使用stream.rawRead()将其读回。我将如何将字符串转换为D中的二进制文件。如果可以,我宁愿不使用任何第三方库。谢谢有没有办法将字符串转换为二进制D
1
A
回答
4
内置模块std.utf有转换为和来自utf编码(utf8与ascii兼容)的方法。
如果你想使用原始读取,你应该首先写入字符串的长度,这样在阅读时你就知道字符串有多少个字节。
3
附注 - 如果你的字符串是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
相关问题
- 1. 将二进制转换为字符串
- 2. 有没有办法将RedisValue []转换为字符串[]?
- 3. 有没有办法将这种字符串转换为日期?
- 4. 将二进制字符串转换为有符号整数 - Python
- 5. Python将二进制字符串转换为二进制int
- 6. 将二进制字符串转换为文本字符串
- 7. 转换字符串“s”为二进制
- 8. 将字符串转换二进制为10进制
- 9. 将二进制长字符串转换为十六进制c#
- 10. 将字符串转换为二进制的最快方法?
- 11. 将二进制字符串转换为十进制c字符串#
- 12. 将十六进制字符串转换为32位二进制字符串
- 13. 将十六进制字符串转换为二进制字符串
- 14. 如何将二进制转换为字符或字符串?,Java
- 15. 将字符串转换为二进制,并在Python中将二进制转换为十进制?
- 16. Go - 如何将二进制字符串转换为二进制字节?
- 17. 有没有什么办法将这个字符串转换为红宝石?
- 18. 有没有办法将字符串从JSON转换为DOM结构?
- 19. 有没有办法从cmd字符串复制字符串?
- 20. C++将字节二进制值转换为字符串
- 21. 将字节转换为c中的二进制字符串#
- 22. 将二进制字符串表示转换为字节数组
- 23. 将ascii字符十进制值的字符串转换为二进制值
- 24. 有没有简单的方法将值转换为字符串?
- 25. 将表示二进制的字符串转换为二进制python
- 26. 将字符串转换为十进制
- 27. JavaScript包(“d”) - 二进制字符串
- 28. 字符串二进制转换
- 29. 将字符串转换为没有CGo的C字符串
- 30. Python从二进制字符串转换为十六进制
这就是我想要让我开始。谢谢 – Coldstar 2014-09-03 12:54:59