一般来说,服务器端传回来的JSON串中的中文默认字符编码格式为UNICODE格式,形式如下所示:
\\u00e5\\u00bf\\u00ab\\u00e7\\u0082\\u00b9\\u00e5\\u0090\\u00a7,\\u00e7
\\u00ad\\u0089\\u00e5\\u0088\\u00b0\\u00e8\\u008a\\u00b1\\u00e5\\u0084
\\u00bf\\u00e9\\u0083\\u00bd\\u00e8\\u00b0\\u00a2\\u00e4\\u00ba\\u0086
值得注意的是,这里并不是直接可以使用的UNICODE串,因为前边不是一个\而是\\,这样的结果就是\\u00e5并不是一个BYTE而是一个长度为6的字符串(\\被转义识别成一个字符了).似乎没有什么直接的办法去转义了.于是只有自己动手写一个间接的转换方法.
首先是计算出直接的那个字节的值.我们使用下边的这个方法去运算
public static function transfromUnicodeString(str:String):String
{
);
}
通过这个方法,我们可以得到一个单字节的字符.
这样我们就相当于原本长度为6的字符串还原成了单个字符.
接下来,因为这是散放着的,我们得把它拼接成中文字符.在UNICODE编辑中,中文字符是三个字节长度.不过这些我们不去关心.直接使用上边的方法
public static function transfromJsonString(str:String):String
{
}
OK.两个方法结合起来使用,就得到最终正常显示的中文JSON串了!