我想將二進制數據寫入文件以進行輔助哈希表操作,然後使用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. 有沒有辦法將函數變量轉換爲D中的字符串?
- 2. 將字符串轉換爲二進制
- 3. 將字符串轉換爲二進制
- 4. 將二進制轉換爲字符串
- 5. 將字符串轉換爲二進制
- 6. 有沒有辦法將這種字符串轉換爲日期?
- 7. 有沒有辦法將RedisValue []轉換爲字符串[]?
- 8. 有沒有辦法將查詢字符串轉換爲數組?
- 9. 有沒有辦法將decltype轉換爲宏中的字符串?
- 10. 將二進制字符串轉換爲有符號整數 - Python
- 11. 將二進制字符串轉換爲二進制文字
- 12. 有沒有辦法通過編程將二進制轉換爲二維碼?
- 13. 將二進制字符串轉換爲二進制
- 14. Python將二進制字符串轉換爲二進制int
- 15. 如何有效地將BitSet轉換爲二進制字符串?
- 16. 將字符串轉換爲二進制字符串
- 17. 將二進制字符串轉換爲文本字符串
- 18. 轉換字符串「s」爲二進制
- 19. 將字符串轉換二進制爲10進制
- 20. 將十六進制字符串轉換爲二進制
- 21. 將二進制長字符串轉換爲十六進制c#
- 22. 將十六進制字符串轉換爲二進制字符串,顯示所有4位十六進制值
- 23. 將字符串轉換爲二進制的最快方法?
- 24. 將二進制字符串轉換爲十六進制字符串C
- 25. 將十六進制字符串轉換爲二進制字符串 - Java
- 26. 將二進制字符串轉換爲十進制c字符串#
- 27. 將二進制字符串(SecureRandom.random_bytes)轉換爲十六進制字符串?
- 28. 將十六進制字符串轉換爲32位二進制字符串
- 29. 將十六進制字符串轉換爲二進制字符串
- 30. 將二進制字符串轉換爲字符
這就是我想要讓我開始。謝謝 – Coldstar 2014-09-03 12:54:59