sys.getdefaultencoding() は、デフォルトの文字列エンコード形式を設定します。Python でエンコードおよびデコードするときにエンコード方法を指定しない場合、Python はdefaultencoding を使用します。
python2.x のデフォルトのエンコーディングは ascii です。これが、ほとんどの Python エンコーディング エラー「UnicodeDecodeError: 'ascii' codec can't decode byte...」の原因です。同様の機能を持つ
#coding:utf-8 は、ソース コードのエンコーディングを定義するために使用されます。これが定義されていない場合、ソース コードに中国語の文字列を含めることはできません。
注: setdefaultencoding は python2 以降は破棄されます。 .7 であるため、python3 では使用できません。実際、これは sys の最初の import ステートメントではなく、実際には sys モジュールの 2 番目または 3 番目のインポートである可能性があります。これは sys への単なる参照です。リロードでのみリロードできます。
それでは、なぜリロードする必要があるのに、関数を直接参照して呼び出すことができないのでしょうか? setdefaultencoding 関数はシステムによって呼び出された後に削除されるため、インポートを通じて参照されるときには存在しません。そのため、setdefaultencoding が使用可能になり、インタープリターの現在の文字エンコーディングが使用可能になるように、sys モジュールを一度再ロードする必要があります。コードで変更されました。
Python インストール ディレクトリの Lib フォルダーには、site.py というファイルがあり、その中に main() --> setencoding()-->sys.setdefaultencoding(encoding) があります。 . pyはPythonインタプリタを起動するたびに自動的に読み込まれるので、main関数は毎回実行され、setdefaultencoding関数は出たらすぐに削除されます。
以上がsetdefaultencoding関数の使い方の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。