UTF-8 と BOM

Flash の ActionScriptEditor はしょぼいので皆さん適当なテキストエディタカリカリ書いてる事と思いますが、BOM 付き UTF-8 でないと何かと問題が起こります。(MX2004 の場合。8は不明)

ところで BOM って何?

Unicode関連のエンコード方式ですが、UTF-16等とは容易に区別がつくのですが、UTF-8とUTF-8Nは少し厄介です。unicodeのストリームのビッグエンディアンかリトルエンディアンを表示するために、Byte Order Markというのが決まっています。

UTF-8NとUTF-8とBOM Windows 2000上でのUTF-8のページの作り方

BOMは、必ずテキストの先頭に付加される。テキストの中間に置かれることはない。BOMの値は、U+ffefと定められている。

BOM (Byte Order Mark) @IT

エンディアン

バイトオーダーは、バイナリのデータファイルを読み書きするときや、ネットワークなどを通じて通信する場合に問題となる。バイトオーダーの異なるマシンでデータを読み書きすると、データの上位バイトと下位バイトの関係が入れ替わり、まったく異なった数値になるからだ。

バイトオーダー (byte order) @IT

なるほど。ガリヴァー旅行記から…。勉強になりました。