BOM付きUTF-8のテキストファイルとはなにかというお話です。 UTF-8自体は以前から聞き覚えのある言葉なのですが、BOM付きUTF-8というものをこの業界に入って初めて知りました。

BOMとは?


BOMはバイトオーダーマーク (byte order mark) またはバイト順マークというらしいです。 調べてみると、
プログラムがテキストデータを読み込む時、その先頭の数バイトからそのデータがUnicodeで表現されていること、また符号化形式(エンコーディング)としてどれを使用しているかを判別できるようにしたものである。

ということです。BOMなしのUTF-8はUTF-8Nと呼ばれることもあるようです。
具体的にBOMありと無しで何が違うのかというと、BOM付き(UTF-8)の場合、先頭に3バイトのBOM(0xEF 0xBB 0xBF)を付加してあります。BOM無し(UTF-8N)はこの3バイトが付きません。
現在のインターネットの世界ではBOMを必要としないUTF-8が主流になっているようです。