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?】に置き換えて下さい。

注意

現在は、日本語しか判別できません。 韓国語や中国語の判定は将来的に搭載予定です。