将 char[] 转换为 byte[] 会导致更高的计数
Convert char[] to byte[] results in higher count
我正在尝试将字符数组转换为字节数组。
char[] cc = new char[] { ((char)(byte)210) }; // Count = 1
byte[] b = System.Text.Encoding.UTF8.GetBytes(cc); // Count = 2
转换为我的字节数组生成了 2 个条目 {195, 146}
。
我猜编码有问题。感谢任何帮助。
在遇到一些问题后,我写了这两行作为测试,所以不要介意风格。
谢谢
UTF-8 可以使用多个字节来存储一个字符。 0-127范围内的ASCII字符只使用一个字节,其他字符需要两个或更多字节存储。
您正在编码的 ASCII 字符 210
来自扩展 ASCII 字符(数值 > 127),UTF-8 使用两个字节来存储此字符。
正如M.kazemAkhgary在上面的评论中所说:
cc.Select(c=>(byte)c).ToArray();
线索是转换而不是使用转换。谢谢!
我正在尝试将字符数组转换为字节数组。
char[] cc = new char[] { ((char)(byte)210) }; // Count = 1
byte[] b = System.Text.Encoding.UTF8.GetBytes(cc); // Count = 2
转换为我的字节数组生成了 2 个条目 {195, 146}
。
我猜编码有问题。感谢任何帮助。
在遇到一些问题后,我写了这两行作为测试,所以不要介意风格。
谢谢
UTF-8 可以使用多个字节来存储一个字符。 0-127范围内的ASCII字符只使用一个字节,其他字符需要两个或更多字节存储。
您正在编码的 ASCII 字符 210
来自扩展 ASCII 字符(数值 > 127),UTF-8 使用两个字节来存储此字符。
正如M.kazemAkhgary在上面的评论中所说:
cc.Select(c=>(byte)c).ToArray();
线索是转换而不是使用转换。谢谢!