DetectOn?○○クラス
- AS3で、外部テキストファイルを読み込んだときに、そのファイルの文字コードが何かを検知するユーティリティクラスです。 読み込んでから文字コードをutf-8に変換するためには、AS3標準でついている、flash.net.URLStreamクラスのreadMultiByte()メソッドなどを利用して下さい。
- クラスが複数種類ありますが、使い分けは下記の通りです。 URLStreamを使ってファイルを読み込む場合:DetectOnWeb?クラス FileStream?を使う場合:DetectOnAir?クラス
サンプル
コード
使い方
流れとしては、以下の通りです。
1 インポートする 2 インスタンス作成する 3 リスナー設定する 4 detectCharset(読み込むファイルのURL:String); 5 リスナーで答えを取得
サンプルとしては、
private var detect:DetectOnWeb;
private function initApp():void{
detect = new DetectOnWeb();
detect.addEventListener( "completeData", comp);
detect.detectCharset( "【読み込みたいURL】" );
}
private function comp(e:Event):void{
trace(detect.result);
}
すると、いずれも『detect.result』というところに結果が反映されます。具体的には、 "iso-2022-jp" , "euc-jp" , "utf-8" , "shift-jis" , "iso-8859-2" です。ちなみに、エラーが発生した場合、エラーメッセージがdetect.resultに返されます。
iso-8859-2は、iso-2022-jp、euc-jp、utf-8、shift-jisに当てはまらない結果が出た場合に示されます。
ちなみに、ローカルの場合は【DetectOnWeb?】を【DetectOnAir?】に置き換えて下さい。
注意
現在は、日本語しか判別できません。 韓国語や中国語の判定は将来的に搭載予定です。
