返回首页

Flash中文编码问题小记

时间:2013-04-09 10:52来源:知行网www.zhixing123.cn 编辑:麦田守望者

从国图OPAC上通过AJAX调用的MARC默认是GB2312的编码,但Flash是Unicode编码,需要转换后才正常,这个不是设置System.useCodePage就能成的,可借助于ByteArray.
var ba:ByteArray = new ByteArray;
ba.writeBytes((event.target as URLLoader).data);
ba.position = 0;
var str:String=ba.readUTFBytes(ba.length);
计算GB2312编码中文字串的长度也是不能直接使用String类的length的,还是和借助于ByteArray,这样所得到的长度与存储到磁盘文件后的才度一致.
public function GetGB2312StringLength(str : String) : int{
var bLen :ByteArray = new ByteArray();
bLen.writeMultiByte(str,"gb2312");
return bLen.length;
}

------分隔线----------------------------
标签(Tag):FLASH FLASH实例教程 flash技巧 flash源代码 flash基础教程
------分隔线----------------------------
推荐内容
猜你感兴趣