Pythonでunicode()やdecode()を使う時、予期せぬ文字が入ってると
print moji.decode("iso-2022-jp")
UnicodeDecodeError: 'iso2022_jp' codec can't decode bytes in position 2913-2914: illegal multibyte sequence
こんなエラーで変換できない事がある。
unicode() 第三引数の"ignore" "strict"
調べてみると、unicode()やdecode()には第三引数が指定でき、変換できない文字が有ってもそのまま通すのか、エラーで終わらせるのか選べるみたい。
デフォは"strict"。という事でエラーになる。
print moji.decode("iso-2022-jp","ignore")
という事でとりあえず表示は出来る!・・しかし弊害も有って、当然文字化けた所は省かれたりするので、場合によりけり。
参考URL
http://kapi.jp/kapi_blog/284
2011年11月21日
関連カテゴリ Python