BOM付きUTF-8からBOMを除去するpython

BOM付きUTF-8からBOMを除去するpython

Windowsのメモ帳でUTF-8のファイルを出力するとBOM(Byte Order Mark)が付与されてしまう。
これはjavaで読むとき邪魔なので、pythonスクリプトで除去してしまう。

1
2
3
4
5
import codecs
with codecs.open('bom_file.txt', 'r', 'UTF-16') as r:
    with codecs.open('file.txt', 'w', 'UTF-8') as w:
        for line in r:
            w.write(line)

BOMはファイルの先頭3バイトを捨てれば良いだけなので、わざわざpythonスクリプトを作成する必要はないが、既存のjavaプログラムを修正したくなかったのでこのようなスクリプトを作成した。
このスクリプトを噛ませると、BOMがあってもなくても結果的にBOM無しのUTF-8のファイルが出来上がる。

同じタグの記事
同じカテゴリの記事

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA