我正在嘗試使用c#BinaryWriter和BinaryReader類編寫和讀取二進制文件。 當我在文件中存儲一個字符串時,它正確存儲它,但是當我試圖讀取它時,它返回一個字符串,它在字符串中每個替代位置都有'\ 0'字符。c#中的BinaryReader讀取字符串的所有字符之間的' 0'
下面是代碼:
public void writeBinary(BinaryWriter bw)
{
bw.Write("Hello");
}
public void readBinary(BinaryReader br)
{
BinaryReader br = new BinaryReader(fs);
String s;
s = br.ReadString();
}
下面就越來越值= 「H \ 0E \0升\0升\ 0°\ 0」。
[絕對最低限度每個軟件開發人員絕對肯定必須瞭解Unicode和字符集(無藉口!)](http://joelonsoftware.com/articles/Unicode.html) – GSerg
您需要考慮字符編碼如@CSerg所示。 .NET中的所有字符串都使用UTF8編碼(每個字符2個字節),它支持許多腳本(羅馬語,日語,希伯來語等)。 – wdosanjos