我已经阅读了很多关于 Unicode 和 Python 2.7 中的各种编码/解码的内容,但我仍然无法理解为什么 IDLE 似乎无法打印正确的字符串。
我有一个 unicode 字符串:
>>> s = u"Hey I\u2019m Bob"
>>> print s
Hey I'm Bob
但是,在我编码为 UTF-8 后,我得到:
>>> s.encode('utf-8')
'Hey I\xe2\x80\x99m Bob'
>>> print s.encode('utf-8')
Hey I’m Bob
我不知道为什么我不能正确打印它,但我可以将 s.encode('utf-8') 写入文本文件并且它可以正确输出。不确定这是否与 IDLE 有关?