用于计算一段字符串占的字节数,相关简记如下:
ASCII:一个字符占一个字节,虽然没有定义中文的编码,但是ASCII在编码中文的时候,都会被编成“?”,从而变相占一个字节,C#验证代码如下:
byte[] test = Encoding.ASCII.GetBytes("中");
Console.WriteLine(test.Length); Console.WriteLine(Encoding.Unicode.GetString(test));
输出结果为1 ?
Unicode:不管是一个中文字符还是英文(数字)字符,都只占两个字节
Console.WriteLine(Encoding.Unicode.GetBytes("中").Length) Console.WriteLine(Encoding.Unicode.GetBytes("23").Length);
输出结果:2 4
UTF-8:一个中文字符占三个字节,一个英文(数字)字符占一个字节
Console.WriteLine(Encoding.UTF8.GetBytes("中").Length); Console.WriteLine(Encoding.UTF8.GetBytes("23").Length); Console.WriteLine(Encoding.UTF8.GetBytes("a").Length);
输出为:3 2 1

2106

被折叠的 条评论
为什么被折叠?



