Flash 10の新機能・ローカルのテキストファイルの読み込み
Flash 10新機能・ローカルファイルのロード・保存機能の話の続き(前回の話はこちら)です。MP3ファイルや画像ファイルの読み込みのサンプルサイトは前回ご紹介しましたが、今回は、テキストファイルのロードや保存機能についてです。
基本はバイナリーファイルと同じですが、テキストファイルの場合、文字コードを意識しないと文字化けしたりするので、とことんまで作りこもうと思うと、ものすごい手間がかかりそうです。
● FLASH+α: FlashPlayer10 テキストファイルを開く、保存する
http://rx8.cocolog-nifty.com/blog/2008/05/flashplayer10_2616.html
テキストファイルの文字コードがUTF-8であると分かっている場合は、上記のサンプルでいけると思います。Shift_JISであると分かっている場合は、System.useCodepage=true;を使えばいいでしょう。ただ、読み込まれるファイルの文字コードが不特定の場合には、
● readMultiByte () メソッド
http://livedocs.adobe.com/flex/3_jp/langref/flash/utils/IDataInput.html#readMultiByte()
を使えば解決するはずです。第二引数で文字コードの指定ができるため、日本語を扱う代表的な文字コードなら大丈夫のはずです(Flashでサポートされる文字コードの一覧)。ところが、Flash CS4 の体験版を使った感じだとEUC-JPを正しく認識してくれません。調べてみると、
● WEB2MEMO =PHP、Ajax、JAVA、AIR、Flex2/3、Ruby、Rails等のメモ= AIR1.0/readMultiByteがブッ壊れ気味な件(AIR)
http://web2memo.blog120.fc2.com/blog-entry-217.html
にあるのと同じ現象が起こっているようです。
EUC-JPのファイルの場合、一旦UTF-8に変換することで、大方の場合OKですが、機種依存文字(「①」「㈱」「Ⅱ」「髙」「彅」など)を含む場合、このブログで1年前に書いたこともあるPHPでの文字コード変換の問題
● PHPで、いわゆる機種依存文字の文字コード変換(EUC-JP→UTF-8)にはまる
http://shimax.cocolog-nifty.com/search/2007/12/phpeucjputf8_f714.html
と同じことが起こるようです。恐るべし機種依存文字。Flash CS4の製品版では、このreadMultiByte () メソッドの問題はないかもしれません。

ソーテックならミニノートもデスクトップも安い!
基本はバイナリーファイルと同じですが、テキストファイルの場合、文字コードを意識しないと文字化けしたりするので、とことんまで作りこもうと思うと、ものすごい手間がかかりそうです。
● FLASH+α: FlashPlayer10 テキストファイルを開く、保存する
http://rx8.cocolog-nifty.com/blog/2008/05/flashplayer10_2616.html
テキストファイルの文字コードがUTF-8であると分かっている場合は、上記のサンプルでいけると思います。Shift_JISであると分かっている場合は、System.useCodepage=true;を使えばいいでしょう。ただ、読み込まれるファイルの文字コードが不特定の場合には、
● readMultiByte () メソッド
http://livedocs.adobe.com/flex/3_jp/langref/flash/utils/IDataInput.html#readMultiByte()
を使えば解決するはずです。第二引数で文字コードの指定ができるため、日本語を扱う代表的な文字コードなら大丈夫のはずです(Flashでサポートされる文字コードの一覧)。ところが、Flash CS4 の体験版を使った感じだとEUC-JPを正しく認識してくれません。調べてみると、
● WEB2MEMO =PHP、Ajax、JAVA、AIR、Flex2/3、Ruby、Rails等のメモ= AIR1.0/readMultiByteがブッ壊れ気味な件(AIR)
http://web2memo.blog120.fc2.com/blog-entry-217.html
にあるのと同じ現象が起こっているようです。
EUC-JPのファイルの場合、一旦UTF-8に変換することで、大方の場合OKですが、機種依存文字(「①」「㈱」「Ⅱ」「髙」「彅」など)を含む場合、このブログで1年前に書いたこともあるPHPでの文字コード変換の問題
● PHPで、いわゆる機種依存文字の文字コード変換(EUC-JP→UTF-8)にはまる
http://shimax.cocolog-nifty.com/search/2007/12/phpeucjputf8_f714.html
と同じことが起こるようです。恐るべし機種依存文字。Flash CS4の製品版では、このreadMultiByte () メソッドの問題はないかもしれません。
| 固定リンク
« Flash 10の新機能・ローカルファイルの読み込み | トップページ | Google Toolbarの最新版をインストールするとJavaScriptの挙動が変わることがある(window.external関連で) »


コメント