質問で UTF-8 と ANSI の両方を誤って伝えていることを残念に思います。
UTF-8 では、先頭に BOM を付ける必要はありません。「BOM なしの UTF-8」エンコーディングなどのエンコーディングはありません。「UTF-8」しかありません。私は何百万もの (確かに何十万もの) UTF-8 ファイルを処理してきましたが、最初に BOM に遭遇したことは一度もありません。
Unicode 標準によると、 UTF-8 ではBOM は必須でも推奨されていません。
2.6 エンコーディングスキーム
BOM の使用は、UTF-8 では必須でも推奨でもありませんが、BOM を使用する他のエンコード形式から UTF-8 データが変換されるコンテキスト、または BOM が UTF-8 署名として使用されるコンテキストで遭遇する可能性があります。詳細については、セクション 16.8, Specialsの「Byte Order Mark」サブセクションを参照してください。
また、「ANSI」などのエンコーディングはありません。
IANA が提供する文字セット名として "ANSI" に最も近いものは、"ANSI_X3.4-1968" と "ANSI_X3.4-1986" であり、どちらも "US-ASCII" (推奨される MIME 名) の単なるレガシー エイリアスです。 )、128 コード ポイントの 7 ビット エンコード。名前に「ANSI」を含む公式の文字セット名は他にありません。
どのような環境で運用されているかはわかりませんが、非常に非標準的な命名、期待、および標準に導かれたようです。
ひょっとして…Windows™?☹</p>
編集:このミソニムのソースについて、この回答が見つかりました。