将 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();

线索是转换而不是使用转换。谢谢!