BOM

読み:ビーオウエム
外語:BOM: Byte Order Mark
品詞:名詞

Unicodeの符号化のうち、UTF-16UTF-32UTF-8などで採用されているエンディアンネス識別符号。Unicode 3.0ではChapter13に書かれている。

具体的にはファイルまたはストリームの先頭のU+FEFF文字のことをいい、これの有無や順序で符号化の種類やエンディアンネスを判別することができる。

UnicodeでU+FEFFという文字は、ZERO WIDTH NO-BREAK SPACE(幅の無い改行しない空白、略してZWNBSP)という記号である。見えないし改行もされない、存在自体を無視できる文字であることからBOMに採用された。

UTF-16では、リトルエンディアンの場合は0xFF、0xFEとなり、ビッグエンディアンなら0xFE、0xFFとなる。

UTF-32では、リトルエンディアンの場合は0xFF、0xFE、0x00、0x00となり、ビッグエンディアンなら0x00、0x00、0xFE、0xFFとなる。

UTF-8では、0xEF、0xBB、0xBFとなる。