1

たとえば、次のような文字列があるとします。

>>>  stri = "日本"
>>>  res = stri
>>>  res
'\xe6\x97\xa5\xe6\x9c\xac'

resここで、 の結果を のフォームに変換したいと思い"日本"ます。

4

3 に答える 3

1

(UTF-8 コンソールで Python 2.x を使用していると仮定します):

何も変換されていないため、元に戻す必要はありません。表示されているのは、文字列の内部表現です。してみてくださいprint

>>>  stri = "日本"
>>>  stri
'\xe6\x97\xa5\xe6\x9c\xac'
>>> print(stri)
日本

明確にするために:

コンソールに Python 変数の名前を入力すると、コンソールはreprその変数の を出力します。人間が読める形式で変数を出力したい場合は、print代わりに を使用してください。変数の格納方法に違いはないため、変換するものはありません。

于 2012-06-20T11:12:46.870 に答える
1

これは予想される動作です。コンソールは変数を Unicode で出力しません。実際に印刷すると、正しい文字がまだそこにあることがわかります。コンソールは、出力する前にすべての変数に対して repr を自動的に使用します。次の例のように print(repr...)) を実行することで、自分で確認できます。

>>> stri = "日本"
>>> stri
'\xe6\x97\xa5\xe6\x9c\xac'
>>> print stri
日本
>>> print repr(stri)
'\xe6\x97\xa5\xe6\x9c\xac'
>>> 
于 2012-06-20T11:24:20.213 に答える
1

ティムが言ったように、文字は変換されていません。

この記事は、何が起こっているのかを理解するのに役立ちます

于 2012-06-20T11:26:09.973 に答える