文字エンコーディング変換のためのPythonの基礎

python2 

1つの すべての文字がからUnicodeにデコード、再エンコード対象のエンコーディングにunicodeにpython2のニーズにコードされている
2 str_utf8 = 私は私だ
3  印刷::私は私を午前str_utf8 、str_utf8)
 4  UTFへ-8 Unicodeに変換
。5 str_utf8_to_unicode = str_utf8.decode(" UTF-8 " 。6  プリント(str_utf8_to_unicode)
 。7  #はユニコードGBKに変換されます
。8 str_utf8_to_unicode_to_gbk = str_utf8_to_unicode.encode(" GBK "

コード印刷するかどうかをプログラムは、端末の正常動作を表示し、また関係を持つことができ

 

python3

バイト文字列型変換

1  !は/ usr / binに/ PythonのENV 
2  _ * _コーディング:UTF-_ * _ 8 
。3  文字列のバイナリ変換蓄積のみ変更、修正は全て、各エンコード/デコードの符号化含みませんあなたはエンコード形式の文字列がに対応する指定する必要が
4 STR1 = 私は私をしています
5  バイナリ、使用エンコードに文字列。ここでトランスコーディング操作を実行するには、元の文字列形式をコードするか、のpython3でと一致するようにフォーマットニーズをコードする
。6 str1_byte = str1.encode(=コードUTF-を8 。7  ここで、バイナリ文字列が復号を使用変換しますあなたは文字列に変換することができないバイナリをもたらすことができるバイナリエンコード形式エラーに記入した場合は、プログラムエラーが発生
8 byte_str1 = str1_byte.decode(エンコードを= UTF-8 9  印刷(STR1、str1_byte、byte_str1)

python3文字エンコーディング変換で

1つの !は/ usr / binに/ envをPythonの
2  _ * _コーディング:UTF-8 _ _ * 
3  デフォルトのエンコーディングのUnicodeのpython3は、このステップをデコードするために必要とされていないされ、見出しステートメント- * -コーディング:GBK - * -専用ファイル自体をコードする、文字列変数またはUnicode内部プログラムは、
4 str2_utf8 = 私は私の午前
5  #1 str2_utf8デフォルト上のpython3しばらく、直接符号化エンコードに対応し、ユニコード符号化(文字列自体ない直接デコード方法)でありますバイトタイプを変換するのpython3 
。6 str2_utf8_to_gbk = str2_utf8.encode(コード= " GBK " 。7つの #はIタイプバイトをコードする私のGBKで印刷
。8  プリント(str2_utf8_to_gbk)
 9つの。 #はIバイトに対応する私のGBKコードタイプで印刷文字列は、正しい符号化タイプを指定することで、正しく文字列に変換することができます
10  印刷(str2_utf8_to_gbk.decode(コード= GBK ))
 11  私は私の独自のUTF-8タイプのエンコードにUTF-8でエンコードされたバイトのタイプ、型変換バイトをすることができる午前印刷
12 str2_utf8_to_utf8_byte = str2_utf8.encode(エンコーディング= "を。8 UTF 13で 印刷(str2_utf8_to_utf8_byte)
 14  ここでエンコードUTF-8に、第一のUnicode GBKをコードするものUnicode変換として符号化されたので、私は、UTF-8に入力GBKする復号する、仲介を必要とする私。
15  その出力値が印刷str2_utf8_to_utf8_byteと一致するように、自身の符号化の復号化のための文字列に変換するために、バイト型をコードに変換するにはPython 
16  プリント =コード(str2_utf8_to_gbk.decode(" GBKを").encode(エンコード= " UTF-8" ))
 17  バイナリUTF-8文字列に変換
18は、 プリント(str2_utf8_to_gbk.decode(コード= " GBK ").encode(コード= " UTF-8 ").decode(" UTF-8 "))

結果:

B '\ XCE \ XD2 \ xbe \ XCD \ XCA \ xc7 \ XCE \ XD2'
私は私が何を
B '\ XE6 \ X88 \ X91 \ xe5 \ XB0 \ XB1 \ XE6 \ x98 \ XAF \ XE6 \ X88 \ X91'
B '\ XE6 \ X88 \ X91 \ xe5 \ XB0 \ XB1 \ XE6 \ x98 \ XAF \ XE6 \ X88 \ X91'
私は私です

 

フォーカスを描きます:

対応するユニコードにその符号化フォーマット以外エンコードは、さらに機能の外側変換バイト列型の増加、元の外側に文字列にさらに増加させるように機能するバイトをエンコードする機能をUnicodeに変換することを除いて、デコードのpython3パイソンと比較して

おすすめ

転載: www.cnblogs.com/flags-blog/p/11823946.html