3の文字エンコーディングとPython2差

コードの詳細 Python2の実装 python3の実装
コーディング#:GBKの
印刷( '中')
ターミナル:UTF8
文字化け 文字化けしません
コーディング#:UTF8の
( '中')印刷
ターミナル:UTF8
文字化けしません 文字化けしません
コーディング#:GBKの
印刷(U 'で')
ターミナル:UTF8
文字化けしません 文字化けしません
コーディング#:UTF8の
印刷( '中' U)
ターミナル:UTF8
文字化けしません 文字化けしません

文字エンコーディングが指定されている場合Python2では、その後、指定された文字エンコーディングに従ってメモリ・アクセスがメモリに入ります。それ以外の場合は文字化けします、解釈または実行に説明するために、指定された文字エンコーディングに従わなければなりません。そうしないと、あなたは、このような変数がUnicodeにメモリにエンコードされます、変数の定義の前でUを追加することができます。

以下のような:

#coding:gbk

name = "爸爸"

しかし、のpython3にあなたは文字エンコーディングを指定した内容に関係なく、Unicodeのエンコーディングは、メモリへのメモリアクセスの際に使用されるため、この問題を持っていないだろう、と任意のUnicode文字エンコーディング変換をエンコードすることができます、と読むとき、コード領域に合わせて読んで必要となるように文字エンコーディングの問題に良い解決策

おすすめ

転載: www.cnblogs.com/aden668/p/11317055.html