Byte Order Mark
Byte Order Mark(BOM)についての知識がなかったために、
プログラミング中悩んでしまったのでメモ。
BOMとは
http://e-words.jp/w/BOM.html
UnicodeのUTF-16など16ビット幅のエンコーディング方式において、
エンディアンを指定するためにファイルの先頭に記入される16ビットの値。
UTF-8にはBOM付きとBOMなしの2種類が存在する。
エディタによっては、
BOM付きがUTF-8,BOMなしがUTF-8N。
pythonでは、
BOM付きがUTF-8-sig, BOMなしがUTF-8。
この対応付けができていないと、エラーが発生する可能性がある。
もし、UTF-8関連でエラーが出たらBOMの有無を疑ってみましょう。