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で表されるタイプとバイナリデータタイプがバイトで表現します
次のように変換プロセスは次のとおりです。