同事問了在AS3中對文文字編碼轉換的問題
起因是於目前一個合作的專案上
使用資料庫編碼為Big5
flash預設文字編碼為unicode
所以呈現上都會產生亂碼
以前都是使用System.useCodepage = true 這個語法
現在AS3中多了一些方式可達成轉換
readMultiByte(length:uint, charSet:String):String
writeMultiByte(value:String, charSet:String):void
看了下文件
並上網查詢一下資料後
很是方便啊,且處理起來速度較快
這樣一來之後可用方式就多了.
將方式在這邊做個筆記 ( for Flex)
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="_initData()">
<mx:Script>
<![CDATA[
import flash.events.*;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLLoaderDataFormat;
private var _loader:URLLoader;
private var _request:URLRequest;
private var _url:String;
private function _initData():void
{
_url = "big5.txt";
_request = new URLRequest(_url);
_loader = new URLLoader();
_loader.dataFormat = URLLoaderDataFormat.BINARY;
_loader.addEventListener(Event.COMPLETE, _completeHandler);
_loader.load(_request);
}
private function _completeHandler(event:Event):void
{
var loader:URLLoader = URLLoader(event.target);
//
var utf8BA:ByteArray = ByteArray(loader.data);
var utf8Str:String = utf8BA.readMultiByte(utf8BA.length, "big5");
//
var big5BA:ByteArray = new ByteArray();
big5BA.writeMultiByte(utf8Str, "big5");
//
big5Str_txt.text = loader.data;
utf8_big5Str_txt.text = big5BA.toString();
utf8Str_txt.text = utf8Str;
}
]]>
</mx:Script>
<mx:VBox horizontalCenter="0" top="120" horizontalAlign="center" id="vbox1">
<mx:HBox id="hbox1">
<mx:Panel width="250" height="200" layout="absolute" id="panel1" title="未調整編碼:Big5" fontSize="12">
<mx:Text x="10" y="10" width="210" height="140" id="big5Str_txt"/>
</mx:Panel>
<mx:Panel width="250" height="200" layout="absolute" id="panel2" title="調整編碼:UTF-8,再轉為Big5" fontSize="12">
<mx:Text x="10" y="10" width="210" height="140" id="utf8_big5Str_txt"/>
</mx:Panel>
<mx:Panel width="250" height="200" layout="absolute" id="panel3" title="調整編碼:UTF-8" fontSize="12">
<mx:Text x="10" y="10" width="210" height="140" id="utf8Str_txt"/>
</mx:Panel>
</mx:HBox>
</mx:VBox>
</mx:Application>
- May 18 Sun 2008 21:52
AS3 字串編碼轉換
全站熱搜
留言列表