Encoding.UTF8.GetString解析错误
本文关键字:错误 GetString UTF8 Encoding | 更新日期: 2023-09-27 17:53:34
// test code
void Start()
{
// bytes is get from server with NetworkStream.Read()
byte[] bytes = { 0xe9, 0xba, 0xbb, // 麻
0xe9, 0xa3, 0x8e, // 风
0xe4, 0xbe, 0x8f, // 侏
0xe5, 0x84, 0x92, // 儒
0x00, 0x00, 0x00,
0x00, 0x00, 0x31,
0x32, 0x00, 0x00,
0x00, 0x00, 0x00 };
// print: 麻风侏儒
Debug.Log(Encoding.UTF8.GetString(bytes, 0, bytes.Length));
}
为什么最后12个字节没有被解析,以及Encoding.UTF8.GetString
如何处理UTF-8字节,我的意思是它如何确定这是一个中文字符还是一个ascii字符
正在被解析。但是结果字符串中嵌入了空,因此它将不能正确打印/显示。
试试这个:
String MyString = Encoding.UTF8.GetString(bytes, 0, bytes.Length);
char[] MyChars = MyString.ToArray();