BOM (バイトオーダーマーク)
ファイル先頭に付与されるエンコーディング識別用のバイト列。UTF-8 では EF BB BF、UTF-16 では FF FE または FE FF。
BOM (Byte Order Mark) は、テキストファイルの先頭に付与される特殊なバイト列で、エンコーディングの種類やバイト順を示します。Unicode の文字 U+FEFF をエンコードしたものです。
UTF-16 では BOM がバイト順 (ビッグエンディアン/リトルエンディアン) の判別に不可欠です。一方、UTF-8 の BOM (EF BB BF) はバイト順の概念がないため、エンコーディングの識別目的で使われます。ファイルエンコーディングの書籍で BOM の詳細を学べます。
UTF-8 の BOM はプログラムによっては不要なバイトとして問題を引き起こすことがあります。シェルスクリプトや PHP ファイルでは BOM なし UTF-8 が推奨されます。
Windows のメモ帳は UTF-8 保存時に BOM を付与する設定がデフォルトでしたが、最近のバージョンでは BOM なしがデフォルトになっています。テキストエディタ活用の書籍でもエンコーディング設定は重要なトピックです。