我正在用C#将文本写入二进制文件,并看到写入字符串和字符数组之间的数量差异.我正在使用System.IO.BinaryWriter并在写入时观察BinaryWriter.BaseStream.Length.这些是我的结果:
using(BinaryWriter bw = new BinaryWriter(File.Open(“data.dat”), Encoding.ASCII))
{
string value = “Foo”;
// Writes 4 bytes
bw.Write(value);
// Writes 3 bytes
bw.Write(value.ToCharArray());
}
Run Code Online (Sandbox Code Playgroud)
我不明白为什么当我只写3个ASCII字符时,字符串重载会写入4个字节.有谁能解释一下?