`

[转] As3 如何显示出 “\u5f20\u4e09” 这种编码的汉字?

阅读更多
http://bbs.9ria.com/viewthread.php?tid=75393&extra=page%3D1%26amp;orderby%3Ddateline%26amp;filter%3D2592000

json解码后的汉字都是这种 “\u5f20\u4e09” 类型,如何将其显示出来呢?



弄过一个将 \uxxx\wxxx的字符串转换为中文字符的,几个方法如下(从文件中口出来的,可能需要做点小修改)
             // 主要方法
               protected static function getEscapeString(str:String):String
                {
                        //TODO::
                        str = str.replace(/\\n/g,"\n");
                        str = str.replace(/\\u\w{4}/g,_str_rp);
                        return str;
                }
                /**
                 * Unicode 转义过程……
                 * */
                protected static function _str_rp():String
                {
                        var s:String = arguments[0];
                        s = s.replace("\\u","0x");        
                        var n:Number = Number(s);
                        s = LocaleUtil.getUnicodeChar(n);  // 方法见下帖
                        return s;
                }



 /**
                 *Unicode编码(16进制)       UTF-8 字节流(二进制)
                 * 2字节 16Bit                最大3字节 24Bit
     0000 - 007F         0xxxxxxx
     0080 - 07FF         110xxxxx 10xxxxxx
     0800 - FFFF         1110xxxx 10xxxxxx 10xxxxxx  
* 例如“汉”字的Unicode编码是6C49。6C49在0800-FFFF之间,
* 所以肯定要用3字节模板了:1110xxxx 10xxxxxx 10xxxxxx。
* 将6C49写成二进制是:0110 110001 001001, 
* 用这个比特流依次代替模板中的x,得到:11100110 10110001 10001001,即E6 B1 89。
                 */
                public static function getUnicodeChar(u:uint):String
                {
                        var b:ByteArray=new ByteArray();
                        var u1:uint;
                        var u2:uint;
                        var u3:uint;
                        
                        if(u<=0x007F)
                        {
                                b.writeByte(u);
                        }
                        else
                        if(u<=0x07FF)
                        {
                                u1 = (u & 0x3F) + 0x80;
                                u = u>>6;                  
                                u2 = (u & 0x3F) + 0xC0;                
                                b.writeByte(u2);
                                b.writeByte(u1);  
                        }
                        else
                        {
                                u1 = u & 0x3F ;
                                u1 += 0x80                  // 0011 1111
                                u = u>>6;
                                u2 = u & 0x3F;
                                u2 +=0x80;                        // 0001 1111
                                u = u>>6;
                                u3 = u & 0x0F;
                                u3 += 0xE0;                        // 0000 1111
                                
                                b.writeByte(u3);
                                b.writeByte(u2);
                                b.writeByte(u1);    
                        }
                        b.position = 0;
                        return b.readUTFBytes(b.length);
                }
分享到:
评论

相关推荐

    将web Form 的数据转化成json字符串(修正版)

    * 将web Form 的数据转化成json字符串的函数 ... * 将web Form 采集的数据转化成json字符串 * 传入web form对象 * 输出由form元素名称及其...* 格式形如:{"xm":["%u5F20%u4E09"],"xb":["%u7537"],"VIP":["h1","h3","h5"]}

    将web Form 的数据转化成json字符串(带使用举例)

    * 将web Form 的数据转化成json字符串的函数 ...* 2011-5-14 * 将web Form 采集的数据转化成json字符串 * 传入web form对象 ...* 格式形如:{"xm":["%u5F20%u4E09"],"xb":["%u7537"],"VIP":["h1","h3","h5"]}

    TCL-L24E09(RTD2662)-中文维修手册.doc

    本文档是"TCL-L24E09(RTD2662)-中文维修手册",主要针对使用RTD2662芯片的24英寸TCL电视的维修技术进行详细阐述。RTD2662是一款常见的电视主控芯片,负责处理电视的各种功能和信号处理。 1.1 RTD2662方案24"TV工作...

    海尔H46E09刷机固件_机编DH1TBOD1700_务必确认机编一致_工装升级

    海尔H46E09刷机固件_机编DH1TBOD1700_务必确认机编一致_工装升级 官方固件无精简无修改 电视正常使用情况下,不建议刷入此固件 刷机有风险,操作需谨慎 文件为.IMG格式方法: 1、把下载好的压缩包解压文件,并将...

    python操作mysql数据库mysql_operation

    [{'stuName': u'\u5f20\u4e09', 'gender': u'\u7537', 'id': 1L, 'stuAge': 23L}, {'stuName': u'\u674e\u56db', 'gender': u'\u7537', 'id': 2L, 'stuAge': 21L}, {'stuName': u'\u738b\u4e94', 'gender': u'\u7537...

    TCL-L24E09(RTD2662)-中文维修手册

    TCL-L24E09(RTD2662)中文维修手册 该维修手册主要介绍了TCL-L24E09(RTD2662)液晶电视的维修技术手册,涵盖了RTD2662方案24"TV电路原理介绍、常见故障的判断及简修、软件烧录及工厂复位、维修中注意事项等内容。 一...

    TCL L40E09 电子说明书 使用手册.pdf

    【TCL L40E09 电子说明书 使用手册】主要涵盖了这款电视的详细操作指南和技术规格,以下是一些关键知识点: 1. **分辨率支持**:TCL L40E09 支持多种视频输入格式,包括 PAL+NTSC 电视制式,以及不同分辨率的信号...

    三菱ELENESSA电梯故障代码表.pdf

    * E9: 5线圈故障断电时检出《SW-CFU》 * EA: 迫力接点ON/OFF故障时检出《SW-CFBK》 * EB: 轿箱直接信号传输异常《ST-STSCE》 * EC: 厅外和指令直接信号传输异常《ST-STSHE》 * ED: 系统异常《ST-SYER》 * EE: 驱动在...

    DH1TBOD1700-H46E09-工装升级.zip

    DH1TBOD1700-H46E09-工装升级.zip 是一个压缩包文件,其命名格式暗示了这可能与特定型号的硬件设备或工装(工具或装置)的更新有关。"DH1TBOD1700"可能是设备的型号,而"H46E09"可能是该设备的版本号或者是某种特定...

    海尔H49E09维修服务手册.pdf

    * 产品技术参数、功能特点介绍:H49E09液晶电视的技术参数、功能特点、显示屏参数、音频参数、接口参数等信息。 二、机芯方案概述 * 机芯模块经理提供的机芯方案概述,包括机芯的架构、组件、功能等信息。 三、...

    wangyi-music-mpvue微信小程序-仿网易云音乐.zip

    \u8981\u6ce8\u610f\u5c31\u662f\uff1a\u5199\u5728mounted\u51fd\u6570\...u4e09\u79cd\u5e94\u8be5\u90fd\u662f\u53ef\u4ee5\u7684\uff0c\u67d0\u4e00\u79cd\u6ca1\u7528\u7684\u65f6\u5019\u5c31\u5c1d\u8bd5\u53e6\...

    adb1c512e09ca2c7a6faef36f9c53e59-v1.0.0a3.tar

    CMake Error 解压了.gz之后的.tar文件:adb1c512e09ca2c7a6faef36f9c53e59-v1.0.0a3.tar 放到原文件目录下即可

    kxhuifudashi_e09e3230.exe

    kxhuifudashi_e09e3230.exe

    中兴 ZXDSL 831CIIV5.5.2a_E09

    中兴ZXDSL 831CIIV5.5.2a_E09是一款由中兴通讯生产的宽带调制解调器(Modem)设备的固件版本。固件是设备的操作系统,它控制硬件功能并提供与网络服务的连接。这款特定的固件版本为E09,代表着该设备软件的迭代更新...

    Tissot天梭159 E09中国大日期腕表用户手册.pdf

    而像"2"、"5"、"10"这些数字,它们可能在设计中扮演着不同的角色,例如表示时间的分段、日期的显示等,为用户带来直观的阅读体验。 特别值得一提的是,159 E09腕表专为中国市场设计的大号日期窗口,极大地提升了...

    三菱无机房电梯故障查询表.pdf

    * E09:PAD异常检出 * E0A:称重数值异常检出 * E0B:E1板故障 * E0C:UHS/DHS开关故障 * E0D:未知故障 * E0F:未知故障 二、将MON1旋转到1位置,将MON0旋转到1位置时的显示结果: * E10:没有异常 * E11:远程...

    79e09efba17ad6cb50253b529448c863.jpg

    79e09efba17ad6cb50253b529448c863.jpg

    解决json中ensure_ascii=False的问题

    # 输出: {"name": "\u5f20\u4e09", "age": 30} # 设置`ensure_ascii=False` json_str_without_ascii = json.dumps(data, ensure_ascii=False) print(json_str_without_ascii) # 输出: {"name": "张三", "age": 30} ...

Global site tag (gtag.js) - Google Analytics