Pythonのエンコード・デコード・コーデック

1、エンコード(符号化)、デコード(復号化)の概念図コンバージョン

 

エンコード:別の符号化処理にユニコード文字コードを変換、エンコード(符号化)と呼ばれるが
デコード:デコード(復号化)と呼ばれる、ユニコード符号化処理中に他の文字コードを変換します

非Unicodeエンコーディングの間には、問題と互換性がないので、直接変換できないからです。

 

2、使い方

メッセージ=「テスト内容」

 

#指定し、他のUnicodeエンコーディングに変換
en_message = message.encode( "UTF-8 ")

 

#変換Unicode文字にエンコード指定された他の
de_en_message = en_message.decode(「UTF-8」)

 

注:GBKのUTF-8と互換性がないため、上記の例では、en_message UTF-8でエンコードされ、そのようなGBKのように、符号化された他のデコードに指定された時間は、次いで、そのままエラープロンプトを復号することができないはずです。

 

図3は、Pythonのデフォルトのエンコーディング
行っているとき、それはエンコードのASCII python2のデフォルトのエンコーディングが使用されている指定されていない場合はpython2のデフォルトのエンコーディングは、ASCII、エンコードやデコードです。

デフォルトエンコーディングのpython3ソースファイルはUTF-8ですが、それは使用されるエンコーディングがUnicodeエンコーディングされている指定されていない場合、文字列は、エンコードやデコードそうすることで、実行したUnicodeのpythonにデフォルトのコンテンツ(ストレージ)です。

ファイルのpython3の内容は、コンテンツに格納されたUnicodeコードに変換されます。あなたは、Pythonを実行するとき、ファイルのpython2内容がエンコードされ、メモリに格納されたASCIIに変換され、ある一般的に、それが文字化け形態であるメモリと互換性がありません。

 

。4、バイト(バイト型)およびSTR(文字列型)
バイト文字列型STRとタイプpython2バイトは、非常に異なるものではなく、文字列を表すことができます。

中国のユニコードのpython3含量が常に存在し、文字列strで表されるタイプとバイナリデータタイプがバイトで表現します

 

次のように変換プロセスは次のとおりです。

 

おすすめ

転載: www.cnblogs.com/broadway/p/11431384.html