文字コードを示す目印
BOM(Byte Order Mark)は、ファイルの先頭に置かれる特別なバイト列です。UTF-16ではバイト順を示す役割があり、UTF-8では主に「このファイルはUTF-8です」と知らせる目印として使われます。
UTF-8 BOM
EF BB BF文字としては
U+FEFFUTF-8では必須ではない
UTF-8はバイト順が決まっているため、BOMがなくても正しく解釈できます。WebページやプログラムのソースではBOMなしが一般的ですが、Windows向けCSVなど、BOM付きの方が文字コードを判定しやすいソフトもあります。
思わぬ不具合
BOMを想定しない処理では、先頭に見えない文字があるように扱われることがあります。ファイル形式や利用するアプリの仕様に合わせて選びましょう。