久々に Java のプログラムを作っていて、コンパイル時に以下のようなエラーに遭遇しました。 \65279 は不正な文字です。 大昔に同じエラーを見たことがあるような気がするのですが、すぐには思い出せません。 しかし、ネットで調べてみるとすぐに思い出しました。 Java のソースファイルは UTF-8 でエンコーディングしているのですが、これが BOM 付きの UTF-8 だと上記のエラーが発生するのです。 BOM とは Byte Order Mark の略で、2バイトで表される UTF-16 のエンディアン(上位バイトを先に書くか下位バイトを先に書くか)を識別するために文書の先頭に書き込む制御コードで、UTF-8 では本来必要のないものです。 Eclipse で Java のソースファイルを編集した場合には BOM は付きませんし、秀丸エディタで編集した場合でもBOM はオプション扱いで

