2005/11/21(月) [n年前の日記]
#13 [prog][flash] utf8 と utf8n の違いってなんでしょか
perl と Jcode.pm を使った実験用のスクリプトを書いて、UTF8 の xml を吐き出したつもりが。xyzzy で開いたら、utf8n と表示されている。…utf8 と utf8n の違いはなんでしょか? fc で、utf8のそれと、utf8n のそれを比較してみたら、中身が違ってるみたいだし。さてはて。
_約定期日記(2005/3/22の項) に若干記述が。
ファイルサイズを確認してみたら、3バイトしか違わなかった。3バイト分ずれてるから、fc が「違うところがこんなにあるよ!」と言ってきただけなのだな。
_約定期日記(2005/3/22の項) に若干記述が。
余談だが、UTF8とUTF8Nの違いを今更知った。TeraPadにUTF8とUTF8Nの2つあるので謎だな〜と思っていたが、UTF8はUTF8Nの先頭にBOM(Byte Order Mark)というエンディアンを示す2バイトのデータが付いているのだ。しかしUTF8はエンディアンが関係ない(もともとインターネット上だと エンディアンに関係なく順に("123"という文字列なら0x31 0x32 0x33)格納するし)のでUTF8Nというのがあるらしい?なるほど、やはり違うのか。約定期日記 より
ファイルサイズを確認してみたら、3バイトしか違わなかった。3バイト分ずれてるから、fc が「違うところがこんなにあるよ!」と言ってきただけなのだな。
◎ FLASHでutf8・utf8nを読ませてみたけど特に文字化け等はしなかった :
そのへんいい具合に処理をしてくれてるということなのであらうか。
考えてみたら、Windows、Mac、UNIX で、改行コードすら違うわけで。結構色々なところでいい具合に処理してくれてるのかもしれんなぁ。> FLASH の ActionScript。
まあ、後で問題が出たら、このへん疑おう。
考えてみたら、Windows、Mac、UNIX で、改行コードすら違うわけで。結構色々なところでいい具合に処理してくれてるのかもしれんなぁ。> FLASH の ActionScript。
まあ、後で問題が出たら、このへん疑おう。
この記事へのツッコミ
[ ツッコミを読む(3) | ツッコむ ]
以上です。
ActionScript 2.0のクラスを書いていた時、UTF8nで保存すると、(日本語のコメントが入っている時に)うまくコンパイルできなくなったことがあります。エラーメッセージも「コンパイルできませんでした」みたいな大雑把なもので、原因が分からず途方にくれた事があります。UTF8で保存し直すだけでコンパイルが通るようになりました。
あとは、昔Flash MXで外部XMLを読み込むタイプのものを作った時、外部XMLがUTF8nだったら文字化けする事がありました。こちらもUTF8で保存し直すとうまくいきました(これは、Flash MX 2004…というかFlash Player 7以降で直ったような感じが)。
困ったのはそれ位ですね。
> UTF8で保存し直すだけでコンパイルが通るように
おお。勉強になりますです。
余計なトラブルを抱え込まないためにも、
FLASH関係ではUTF8で保存することを心がけておいたほうがヨサゲ、
ということですな。コレは記憶にとどめておかないといかんですな…。