BinaryReader.ReadChar 是读取一个char,为什么读出来8位的

c#中char不是16么。到底c#定义的char是多大的
2025-03-24 02:27:09
推荐回答(2个)
回答1:

1)C#中的char是16位的
2)BinaryReader 默认使用UTF-8编码。按照UTF-8的编码规则对于英文字母等UTF-8编码和ASCII码是相同的,占一个字节。当读入一个ASCII字符肯定是一个字节。将读入的ASCII赋值给char类型变量时扩展成16位;

回答2:

char 是 16位的。见:http://msdn.microsoft.com/zh-cn/library/x9h8tsay.aspx