小编Cra*_*and的帖子

使用System.IO.BinaryWriter编写字符串与char数组的区别

我正在用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个字节.有谁能解释一下?

c# string encoding binaryfiles file

4
推荐指数
2
解决办法
4954
查看次数

标签 统计

binaryfiles ×1

c# ×1

encoding ×1

file ×1

string ×1