文字コードをUTF-8に変換する

AS3で文字コードがUTF-8ではないWebページにアクセスしてテキストデータを取得して、それを文字列として自由に扱いたい場合のメモ。

問題は、AS3の文字コードUTF-8ではない場合、文字化けしてしまうということです。UTF-8に変換する
必要があります。

  • バイナリのストリームを使う

myLoader.dataFormat = URLLoaderDataFormat.BINARY;

  • 文字コードを変換する

byteArray.readMultiByte(byteArray.length, “shift-jis”);

var myLoader:URLLoader = new URLLoader();
myLoader.dataFormat = URLLoaderDataFormat.BINARY;
var myRequest:URLRequest = new URLRequest(“URL”);

//ロード完了時の処理をイベントリスナーに登録
myLoader.addEventListener(Event.COMPLETE, onComplete);
myLoader.load(myRequest);

function onComplete (eventObject:Event) {
    var byteArray:ByteArray =eventObject.target.data as ByteArray;

   //shift-jisからUTF-8 euc-jpはうまく動かないという情報があります。
    var html_str:String = byteArray.readMultiByte(byteArray.length, “shift-jis”);
}
   

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です