2
私はPythonエンコーディングに問題があります。Pythonサブプロセスcheck_outputデコードスペシャル文字
subprocess.check_output("ipconfig", shell=True)
それはのように、それに私に特殊文字を含む出力を与える:私はこれを実行しようとすると
"Statut du m\x82dia"
"M\x82dia d\x82connect\x82"
(私はフランス語です)
私はそれをデコードしてみてください最後に.decode()
、それは私に、このエラーを与える:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x82 in position 78: invalid start byte
私はを使用してみました3210、私は何時間もエンコーディングとデコードで遊んだので、答えが見つかりません。私がインターネットで見たすべてがうまくいかなかった。たぶん私はちょっとばかだけど、ちょっとね。 これらのデコードエラーを取り除き、特殊文字を印刷するにはどうすればよいですか?
ありがとうございました。
https://stackoverflow.com/questions/9941064/subprocess-popen-with-a-unicode-path https://bugs.python.org/issue27179 –
「encoding = "437" 'または' encoding = "850" 'を引数に渡していますが、なぜコードページがそれなのか説明していないので、私はその答えに満足できません。 –
@JoshLeeああ、 '.decode(sys.stdout.encoding)'と同じように動作します。ありがとう!あなたはあなたの答えを「公式」な答えにすることができますか?私はそれを検証できますか?あなたも私の一日を過ごしたことがあります^^これで長時間執着しました^^ " – Alpha