Unity C# 字节数组byte[]转字符串string中文乱码(utf8无效)的问题

前言

在字节数组转字符串过程中,发现中文字符一直是乱码状态,因为是接入SDK的方式,所以不知道后端是怎么发的。SDK提供的转换如下:

        System.Text.Encoding.Default.GetString(str);

转换后的是各种乱码:???之类的。

网上查询并尝试了各种方式,都得不到正确的中文,只不过输出的乱码改变了,尝试了如下方式:

  System.Text.Encoding.UTF8.GetString(str); 
System.Text.Encoding.ASCII.GetString(str);
  System.Text.Encoding.Unicode.GetString(str);


解决方法

采用了GB2312编码实现,只不过实现方式如下:

System.Text.Encoding gb2312;
gb2312 = System.Text.Encoding.GetEncoding("gb2312");
string CnStr = gb2312.GetString(bytes);

你可能感兴趣的:(Unity3D,unicode,乱码,字符串,经验分享)