BOM付きUTF-8で文字化けを防ぐ|テキストファイル
作成日:2025-09-27
更新日:2025-09-27

テキストファイルは
BOM付きUTF-8
BOM付きUTF-8

BOM付き?

日本語の文字化けを防ぐもの
BOMとは
BOM (Byte Order Mark)
テキストファイルの先頭に置かれる「このファイルはどんな文字コードで書かれてるか」を示す目印(バイト列)のこと
- ファイルを開いたときに「文字コードがUTF-8だよ」と伝えるもの
- 特にExcelや古いエディタはBOMがないと文字化けしやすいので、日本語CSVではBOM付きがよく使われる

どうやってBOM付きにするの?

ファイルの先頭に、バイト列を置く
BOM付きUTF-8|EF BB BF

EF BB BF というのが BOM
16進数で EF BB BF
先頭3バイトにこの並びがあると、アプリは「このファイルはUTF-8だ」と認識する
他の例
- UTF-16 LE(リトルエンディアン)のBOM →
FF FE
- UTF-16 BE(ビッグエンディアン)のBOM →
FE FF
- UTF-32 → もっと長いBOMがある
BOMが役立つケース
- Windowsメモ帳でUTF-8ファイルを開く場合
- ExcelでCSVを開いた際、日本語が文字化けしやすい場合
- 外部プログラムが文字コード判定を必要とする場合
ただし注意点!
UTF-8は本来BOM不要(規格上は推奨されない場合もある)
でも Excelなどの一部アプリはBOM付きじゃないと文字化けする
そのため「CSVはBOM付きUTF-8で出力」が定番

たとえばPythonのスクリプトファイルも
BOM付きで保存しないと実行エラーになることがある
2025-09-27
編集後記:
この記事の内容がベストではないかもしれません。