我正在将文本写入 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());
}
我不明白为什么当我只写 3 个 ASCII 字符时字符串重载会写 4 个字节。谁能解释一下?