お問合せ

BOM

Byte Order Mark
UnicodeのUTF-16など16ビット幅のエンコーディング方式において、エンディアンを指定するためにファイルの先頭に記入される16ビットの値。 UTF-16などではビット列の並びとしてビッグエンディアンとリトルエンディアンの両方を許容しているため、誤ったエンディアンで文書を読み込むと判読できなくなってしまう。このため、ファイルの先頭のBOMを読んで、文書がどちらのエンディアンで作成されたかを判別してから本文を読み込む。 BOMは16進数で「FEFF」という16ビットの値で、誤ったエンディアンで読み込むと、これが「FFFE」となる。BOMが「FFFE」となった場合には逆のエンディアンを使って読み込めば正しく読み込むことができる。 BOMはエンディアンの判別だけでなく、文書がUnicodeで記述されているかどうかを判別するために用いられることもある。このため、エンディアンが関係ないUTF-8などの文書でも先頭にBOMがついている場合がある。 Unicodeとほぼ等価であるISO 10646では、BOMに相当するコードは「ZERO WIDTH NON-BREAKING SPACE」と呼ばれ、ビット列はBOMと同じく16進で「FEFF」だが、文書の途中に登場してもいいことになっている。

IT用語集の索引





  • このページの先頭に戻る