BOM付きUTF-8からBOMを除去するpython
Windowsのメモ帳でUTF-8のファイルを出力するとBOM(Byte Order Mark)が付与されてしまう。
これはjavaで読むとき邪魔なので、pythonスクリプトで除去してしまう。
[cc lang=”python”]
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)
[/cc]
BOMはファイルの先頭3バイトを捨てれば良いだけなので、わざわざpythonスクリプトを作成する必要はないが、既存のjavaプログラムを修正したくなかったのでこのようなスクリプトを作成した。
このスクリプトを噛ませると、BOMがあってもなくても結果的にBOM無しのUTF-8のファイルが出来上がる。
同じタグの記事
- jythonのヒープメモリ設定
- Kotlin1.2.50がリリースされていた
- macOSをHigh Sierraに更新した。スクリプト実行環境のバージョンは変わったのか
- macOSをMojaveに更新した。スクリプト実行環境のバージョンは変わったか
- pathlib.Pathを調べる
- pyenvでpython環境をインストール
- pyenvとvirtualenvでpython環境を構築
- python unpack
- python3で数値のlistを文字列のlistに変換
- pythonからchromeを操作する
同じカテゴリの記事
コメントを残す