as3.0真正的解决加载GB2312编码乱码的问题源代码示例

转自:http://www.cuplayer.com/player/PlayerCodeAs/2013/0120668.html 感谢!!!

请写出AS3加载GB2312编码的文本,如何才能真正的解决乱码问题。


AS3中, System.useCodePage  url编码和escape编码 的函数都没有影响了。不论什么设置,都仍然用 utf8 来处理。
从编码到字符的转换,AS3不能用chr()函数了,只剩下 String.fromCharCode() 方法了。而这个方法还只支持utf8,不支持别的字符集。

如果需要从gb2312的编码到汉字的转换,需要借助AS3新增的ByteArray类,实现方法如下:

var loader:URLLoader = new URLLoader(new URLRequest("CuPlayer.html")); 
loader.dataFormat = URLLoaderDataFormat.BINARY; 
loader.addEventListener(Event.COMPLETE, complete); 
function complete(event:Event):void { 
    var BA:ByteArray = new ByteArray; 
    BA.writeBytes((event.target as URLLoader).data); 
    BA.position = 0; 
    trace(BA.readMultiByte(BA.length,"gb2312")); 
} 

补充:正则中需要转义的特殊字符

* . ? + $ ^ [ ] ( ) { } | \ / 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值