Q&A
前提
python3で各文字コード(utf-8,shift_jis,EUC-JPなどなど・・)の
処理に対応したアプリケーションを作成したいです。
python3 へ文字列は下記の例のように日本語をコマンドライン引数として渡しますが
コマンドライン引数の文字列を扱おうとすると、UnicodeDecodeError が発生します。
また、事前にどの文字コード(utfなのかshit_jisなのか)で渡されるかは分からない前提とさせてください。
(例)test.py テスト テスト2
ここに実現したいことを箇条書きで書いてください。
- 各文字コードがコマンドライン引数として渡されても対応可能なアプリにする。
発生している問題・エラーメッセージ
UnicodeDecodeError: '〇〇〇' codec can't decode byte 〇〇〇
該当のソースコード
ソースコード
試したこと
例えばpython3 のコードにshift_jisのコマンドライン引数を渡した時に
下記はutf-8 に変換され上手く処理することができましたが
この場合あらかじめ、コマンドライン引数の日本語がどの文字コードがわかっていなければならないので
下記で運用することは難しいと感じました。
args[1].encode('utf_8','surrogateescape').decode('shift_jis','surrogateescape')
補足情報(FW/ツールのバージョンなど)
python3 をlinux 上で動作させています。
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。