ホームページ  >  記事  >  バックエンド開発  >  setdefaultencoding関数の使い方を詳しく紹介

setdefaultencoding関数の使い方を詳しく紹介

高洛峰
高洛峰オリジナル
2017-03-19 15:01:131631ブラウズ

sys.getdefaultencoding() は、string のデフォルトのエンコード形式を設定します。 python2.x のデフォルトのエンコーディングは ascii です。これが、ほとんどの Python エンコーディング エラー「UnicodeDecodeError: 'ascii' codec can't decode byte...」の原因です。同様の機能を持つ

#coding:utf-8 は、ソース コードのエンコーディングを定義するために使用されます。これが定義されていない場合、ソース コードに中国語の

strings

を含めることはできません。 注: python2.7 以降。

set

defaultencoding は放棄されたため、python3.sys モジュールでは使用できません。これは、ここでの import ステートメントが実際には sys の最初の import ステートメントではなく、これが実際には sys モジュールの 2 番目または 3 番目のインポートである可能性があることを意味します。これは sys への単なる参照であり、ロードをリロードすることしかできません。


では、なぜリロードする必要があるのに、関数を直接参照して呼び出すことができないのでしょうか? setdefaultencoding 関数はシステムによって呼び出された後に削除されるため、インポートを通じて参照されるときには存在しません。そのため、setdefaultencoding が使用可能になり、インタープリターの現在の文字エンコーディングが使用可能になるように、sys モジュールを一度再ロードする必要があります。コードで変更されました。

Python

インストールディレクトリの Lib フォルダーに、site.py というファイルがあります。その中に

main

() --> setencoding()-->sys.setdefaultencoding があります。 (encoding), このsite.pyはPythonインタプリタを起動するたびに自動的に読み込まれるため、main関数は毎回実行され、setdefaultencoding関数は出たらすぐに削除されます。

以上がsetdefaultencoding関数の使い方を詳しく紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。