日期:2014-05-17  浏览次数:20867 次

关于UTF-8与汉字的问题
调用一个外部接口,返回字符串(JSON)如下:
{"code":0,"data":{"time":"2013-04-22 17:04:43","address":"\u5e7f\u4e1c\u7701\u5e7f\u5dde\u5e02\u767d\u4e91\u533a \u8ddd\u6c5f\u590f\u4e1c\u4e00\u8def\u7ea6266\u7c73 \u5e7f\u5dde\u5e02\u6d01\u5b9d\u65e5\u7528\u54c1\u6709\u9650\u516c\u53f8\u897f\u5317\u7ea686\u7c73\u5904","status":"\u9759\u6b62\/ACC\u5173","speed":0,"lat":23.21724,"lng":113.2808678,"temp1":"","temp2":"","temp3":"","temp4":""}}

其中address后应该是一段汉字,据我的理解,\u是表示UTF-8,如何转换为汉字呢?

------解决方案--------------------
去下一个JSON的转换DLL,Newtonsoft.Json.dll,很有名
CS后端获取到JSON串,直接就是中文的,不需要专门转换
------解决方案--------------------

 string code = "\u5e7f\u4e1c\u7701\u5e7f\u5dde\u5e02\u767d\u4e91\u533a \u8ddd\u6c5f\u590f\u4e1c\u4e00\u8def\u7ea6266\u7c73 \u5e7f\u5dde\u5e02\u6d01\u5b9d\u65e5\u7528\u54c1\u6709\u9650\u516c\u53f8\u897f\u5317\u7ea686\u7c73\u5904";
            Console.WriteLine(Regex.Unescape(code));
            Console.Read();
              

------解决方案--------------------
JS里面直接是Unescape("你要转的内容");这是JS的解码方法