第一种:自己最后转换下编码
System.Text.RegularExpressions.Regex.Unescape(String),命名空间:
StringBuilder sb = new StringBuilder();
JsonWriter writer = new JsonWriter(sb);
writer.WriteObjectStart();
writer.WritePropertyName("Name");
writer.Write("小李子");
writer.WritePropertyName("Sex");
writer.Write("男");
writer.WritePropertyName("Sex");
writer.Write(44);
writer.WritePropertyName("作品");
writer.WriteArrayStart();
writer.Write("《泰坦尼克号》");
writer.Write("《禁闭岛》");
writer.WriteArrayEnd();
writer.WriteObjectEnd();
string str = Regex.Unescape(sb.ToString());
byte[] byte= Encoding.UTF8.GetBytes(str);
第二种:修改源代码
进入Write方法可以看到,有一个 PutString (str) 方法会对字符串进行处理。
public void Write (string str)
{
DoValidation (Condition.Value);
PutNewline ();

本文介绍了两种解决Unity3D中使用LitJson序列化时中文无法正常显示的方法:一是通过调用System.Text.RegularExpressions.Regex.Unescape转换编码;二是直接修改LitJson的源代码,注释掉不必要处理的Unicode编码部分,从而实现中文的正确显示。
最低0.47元/天 解锁文章
2910

被折叠的 条评论
为什么被折叠?



