BOMって?
Byte order Mark
の略。
数ある文字コードの一つ、Unicode
でテキストファイルなどを符号化した際に先頭に付けられる、どんな情報なのかを説明する文字列のこと。
メモ帳などから確認することはできない。
Excel
などでBOM
がないテキストファイルを開いても、どの文字コードで作成されているのかが識別できず、その中身を確認できないことがある。
しかし、テキストファイルを読み込むようなプログラムでBOM
があるテキストファイルを読み込むと、エラーを吐き出したり、予期していない動作をすることがあるため、対策が必要なことも。
BOM
は用途によって、その存在の重要性が大きく変わる。
テキストファイルを読み込むプログラムを組んだ際、どこも問題はないのにエラーが吐き出されることがあったら、BOM
の存在を疑ってみては。
sublime Text 3からBOMがあるかどうかを知る
まずはsublime Text 3
のユーザー設定を変更して、現在作業しているファイルの文字コードを表示させる。
画面上部にあるタブからPreferences
を選んでクリック。
Preferences
内のメニューが表示されたら、Settings
をクリック。
左側のパネルからshow_encoding: false
を探し、コピー。
その後、右側のパネルに貼り付けて、false
をtrue
に変更し、上書き保存。
この状態でBOM
があるテキストファイルを開くと、このように表示される。
sublime Text 3でBOMを削除する
Q. このテキストファイルにBOMが付いてるのはわかったけど、BOMを削除するにはどうすれば?
A. sublime Text 3
からエンコーディングして保存
をするだけ。
画面上部のファイル
タブを開き、Save with Encoding
から保存したい文字コードの形式を選択するだけ。
with BOM
が付いてる文字コードか、そうでない文字コードかを選ぶだけで、BOM
を削除したり、付与したりすることができる。
文字コードやBOM
の有無を確認して、予期せぬエラーと出会わないようにしよう!!