unity3d使用litjson中文显示的问题

  我们在使用litjson时它的编码方式是unicode的,所以我将json转成string输出时显示的是unicode的编码。这样我们显示或者保存中文时不是很方便。我们可以将中文的unicode转成能识别的GBK编码。

 1 using UnityEngine;
 2 using System.Collections.Generic;
 3 using Utils;
 4 using LitJson;
 5 using System;
 6 using System.Text.RegularExpressions;
 7
 8 public class Script1 : MonoBehaviour
 9 {
10     public void OnTestJson()
11     {
12         JsonData sData = new JsonData();
13         JsonData data1 = new JsonData();
14         JsonData data2 = new JsonData();
15
16         data1["等级"] = "54";
17         data1["位置"] = "m=1000,x=33,y=21";   //新手村
18
19         data2["等级"] = "56";
20         data2["位置"] = "m=1001,x=58,y=97";   //桃园镇
21
22         sData["张三"] = data1;
23         sData["李四"] = data2;
24
25         string jsonStr = sData.ToJson();
26
27         Regex reg = new Regex(@"(?i)\\[uU]([0-9a-f]{4})");
28         var ss = reg.Replace(jsonStr, delegate(Match m) { return ((char)Convert.ToInt32(m.Groups[1].Value, 16)).ToString(); });
29
30
31         print(ss);
32     }
33 }

显示如下

转载请注明出处http://www.cnblogs.com/fyluyg/p/5963052.html

时间: 2024-10-12 22:03:18

unity3d使用litjson中文显示的问题的相关文章

cocos2d-x wp8 中文显示问题

cocos2d-x项目在wp8下中文显示不了,有两个原因: 1. 本身字符串的utf8编码, 有问题. 2. 显示中文所需要的字体,缺失. 要解决第二个问题很简单,在fonts下添加一个中文字体,在显示的时候制定此中文字体 labelArcade = CCLabelTTF::create("中文字符串", "中文字体名称",字体大小); 至于第一个问题,说的是不能像上文那样直接用字符串写"中文字符串",解决方案有gb2312ToUnicode的方

Ubuntu CTRL+ALT+F1~F6 进入命令模式后不支持中文显示的解决办法

前言 我在实验进入linux系统启动xwindow server而不启动KDE GNOME等桌面系统时遇到的问题.只启动x server而不启动桌面系统,在xserver之上运行一个全屏的图形界面程序,这样就能实现该程序对显示器的独占,对一般用户来说他就不能在这台电脑上搞别的动作了,只能用这个程序.一些工业控制.超市收银等应用场景下都会有这样的需求,目前这些程序都运行在windows xp (embeded)之下,也有运行于dos的.由于windows xp太被大众熟悉了,结果这些软件便不能稳定

Atom中文显示乱码问题 UTF-8

Atom中文显示乱码问题 本来就是UTF-8文件,但中文还是显示不了.换了GBK.GB18030也不行. 解决方法: 给atom编辑器设置字体 从菜单中打开 Edit->Open your config选项,或者Packages->Setting views->Open, 找到config.cson文件中的editor子项,或者setting views中的font-family选项,把字体设置成 文泉驿 系列字体才可以显示中文.比如: 文泉驿微米黑,文泉驛微米黑,WenQuanYi M

Qt中文显示

QT默认的编码(unicode)是不能显示中文的,可能由于windows的默认编码的问题,windows默认使用(GBK/GB2312/GB18030),所以需要来更改QT程序的编码来解决中文显示的问题. QT中有专门的一个类来处理编码的问题(QTextCodec). 在QT3中,QApplication可以设置程序的默认编码,但是在QT4中已经没有了该成员函数.可以以下的这些方法来设置编码. 1. 设置QObject的成员函数tr()的编码. QTextCodec::setCodecForTr

解决osgEarth中文显示乱码的几种方法

解决osgEarth中文显示乱码的几种方法 在此感谢那些在路上那个帮助过别人的朋友,谢谢. 方法一: 通过自己写函数转换类型. 下面这三个函数先复制过去吧. void unicodeToUTF8(const std::wstring &src, std::string& result) { int n = WideCharToMultiByte( CP_UTF8, 0, src.c_str(), -1, 0, 0, 0, 0 ); result.resize(n); ::WideCharT

python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)

最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指正. 一.最简单的基本框架如下:已知x,y,画出折线图并保存.此时x和y均为数字. 1 # -*- coding: utf-8 -*- 2 3 import matplotlib.pyplot as plt #引入matplotlib的pyplot子库,用于画简单的2D图 4 import random 5

Linux中文显示乱码?如何设置centos显示中文

Linux中文显示乱码?如何设置centos显示中文 怎么设置Linux系统中文语言,这是很多小伙伴在开始使用Linux的时候,都会遇到一个问题,就是终端输入命令回显的时候中文显示乱码.出现这个情况一般是由于没有安装中文语言包,或者设置的默认语言有问题导致的.以centos为例,操作Linux怎么查看语言,设置修改语言 1.查看当前系统语言 登陆linux系统打开操作终端之后,输入 echo $LANG可以查看当前使用的系统语言.如 2.查看安装的语言包 查看是否有中文语言包可以在终端输入 lo

ubuntu 中用vim打开txt等文件中文显示乱码的解决方法  

今晚用ubuntu 12.04 的vim编辑网页代码时,发现上面的中文显示乱码.这个html文件是我之前用gedit编辑的,在gedit里面显示正常,可是在vim下显示就是乱码了. 怎么解决ubuntu中vim显示中文乱码的问题呢? 首先,添加中文字符编码: sudo gedit /var/lib/locales/supported.d/local 在打开的文件中添加下面的中文字符集 zh_CN.GBK GBK zh_CN.GB2312 GB2312 zh_CN.GB18030 GB18030

Processing支持中文显示

Processing 默认不支持中文,中文显示成框框,我使用的版本是:2.2.1,进行如下设置,并且重启processing就可以支持中文了: 可以看到中文了: