2010年5月17日月曜日

UTF-8 と BOM

ファイルを保存する場合、BOM 有/無 のどちらがよいのか。
BOM とは Byte Order Mark の略。Unicode でエンコーディングしていることを示すために、ファイルの先頭に 0xEF 0xBB 0xBF を付ける。

■ BOM 無の利点
BOM がゴミとして扱われ、不具合が起こる場合がある。
EX.
Unix シェルの #!bin/sh が読み込めない。

■ BOM 有の利点
エンコーディングの識別が容易。
EX.
・日本語が入っていないファイルを UTF-8 BOM 無で保存した。
・Windows のソフトで更新したところ、日本語が無いので文字コードの判別不能 SJIS として保存された。
・UTF-8 のつもりで操作したところ、不具合発生。
 …という問題を防げる。

■ UTF-8N の表記について
UTF-8 => BOM 有
UTF-8N => BOM 無
という使い方は、日本のローカルルールとのこと。世界ではどうやって区別しているかは不明。

■ 結局どちらがよいのか
時と場合による。

■ 参考
http://bearmini.net/blog/View.aspx?bid=1&aid=144

0 件のコメント:

コメントを投稿