https://www.cnblogs.com/xqnq2007/p/7429584.html
Pythonプログラミングを使用する場合は、コーディングの問題が頭痛の種となっている、プログラムは、多くの場合、次のエラーメッセージが発生します。
UnicodeDecodeError:「ASCII」コーデックは、バイトの0xをデコードすることはできません?位置1(128)の範囲内にない序
非ASCIIコード化は、プログラムで発生した場合、インストール時に、Pythonは、デフォルトのエンコーディングは、ASCIIであるため、これは、Pythonの治療は、多くの場合、上記のエラーを報告します。
上記の問題のために、二つの一般的な治療法があります。
方法1:
次のコードでブロックコードの先頭にPythonの:
- 輸入SYS
- リロード(SYS)
- sys.setdefaultencoding( 'UTF8')
この方法は一時的なものであり、プログラムが実行されている場合にのみ有効になり、システムのデフォルトのエンコーディングは変更されません。
注意:
ために再設定を防止するために、デフォルトのエンコーディングのASCIIコード化を使用すると、意図的にクリアsetdefaultencoding法のsysモジュールを起動したときに元のプログラム、Pythonのコンパイラに影響を与える依存しています。あなたが呼び出す必要がある場合、あなたは、あなたがメソッドをsys.setdefaultencoding見ることができ、(SYS)をリロードしますが、セットした後、あなた自身のリスクであることができます。
テストの後、リロードsetdefaultencoding方法が有効ではありません。
方法2:
Pythonのデフォルトのインストール・コード(sys.getdefaultencodingによって、ASCIIである)デフォルトのエンコーディングを表示することができます。一度問題を解決するために、我々は、Pythonのデフォルトのエンコーディングを変更することができます。次のように具体的な動作は以下のとおりです。
最初のステップ:
パイソンのLib \のsite-packagesフォルダにインストールディレクトリには、新しいファイルを作成しますsitecustomize.py
ステップ2:
sitecustomize.pyに次のコードを記入
- #エンコーディング= UTF8
- 輸入SYS
- リロード(SYS)
- sys.setdefaultencoding( 'UTF8')
第三段階:デフォルトエンコードsys.getdefaultencodingビュー(により、パイソンを再起動)が、結果は「UTF8」であります
しかし、この方法をテストします。