为什么会有这条线
System.Text.Encoding.UTF8.GetBytes("ABCD±ABCD")
给我 10 个字节而不是 9 个字节? 虽然±是char(177)
是否有 .Net 函数/编码可以将此字符串正确转换为 9 个字节?
最佳答案
Although ± is char(177)
UTF-8 编码是 0xc2 0xb1 - 两个字节。基本上,每个 >= 128 的代码点都将占用多个字节 - 其中字节数取决于代码点的大小。
当使用 UTF-8 编码时,该数据为 10 个字节。这里的错误是您期望它应该花费 9。
关于c# - System.Text.Encoding.UTF8.GetBytes 额外字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19036870/