コードの詳細 | Python2の実装 | python3の実装 |
---|---|---|
コーディング#:GBKの 印刷( '中') ターミナル:UTF8 |
文字化け | 文字化けしません |
コーディング#:UTF8の ( '中')印刷 ターミナル:UTF8 |
文字化けしません | 文字化けしません |
コーディング#:GBKの 印刷(U 'で') ターミナル:UTF8 |
文字化けしません | 文字化けしません |
コーディング#:UTF8の 印刷( '中' U) ターミナル:UTF8 |
文字化けしません | 文字化けしません |
文字エンコーディングが指定されている場合Python2では、その後、指定された文字エンコーディングに従ってメモリ・アクセスがメモリに入ります。それ以外の場合は文字化けします、解釈または実行に説明するために、指定された文字エンコーディングに従わなければなりません。そうしないと、あなたは、このような変数がUnicodeにメモリにエンコードされます、変数の定義の前でUを追加することができます。
以下のような:
#coding:gbk
name = "爸爸"
しかし、のpython3にあなたは文字エンコーディングを指定した内容に関係なく、Unicodeのエンコーディングは、メモリへのメモリアクセスの際に使用されるため、この問題を持っていないだろう、と任意のUnicode文字エンコーディング変換をエンコードすることができます、と読むとき、コード領域に合わせて読んで必要となるように文字エンコーディングの問題に良い解決策