ITエンジニアの技術メモ

神奈川在住のITエンジニアの備忘録です。主にプログラミング(Perl, Java など)やネットワーク技術について、仕事などを通じて学んだことを自分の中で整理するためにゆるゆると書いています。誰かのご参考になれば幸いです。

メモ帳でUTF-8で保存すると、ファイルの先頭にBOMが入る。

メモ帳でUTF-8で保存すると、ファイルの先頭に BOM(Byte Order Mark)が入る。通常テキストエディタではBOMが付いているか分からないが、バイナリエディタで見ると BOM(0xEF 0xBB 0xBF) が付いているのが分かる。ちなみに、メモ帳のこの挙動は、私の調べた限り、変更する方法はない。

 

このBOMが付いている状態のファイルをプログラムに読み込ませると、エラーが発生することがある。これに嵌ると、テキストエディタで見る限り、プログラムに読み込ませたファイルは問題なさそうに見えるため、原因が分かるまで時間がかかることがある。

 

なので、正しい内容のファイルをプログラムに読み込ませているはずなのに、プログラム側でエラーが発生する時は、ファイルにBOMが付いているかを疑うのが良いと思う。