python 2.X和3.X字符编码的区别

时间:2013-10-09 14:57:45

标签: python python-2.7 python-3.x utf-8 latin1

当我在Python 2.X解释器中键入以下法语字符时,它给出了一个utf-8字节序列:

>>> x = 'é'
>>> x
'\xc3\xa9'

但是在Python 3.X上同样的事情导致以下行为:

>>> x = 'é'
>>> x
'é'

但据说Python 3的默认编码是utf-8。 有人可以解释这种行为吗?

1 个答案:

答案 0 :(得分:4)

您的Python 2示例是一个字节字符串,您的Python 3是一个unicode字符串。使用u作为Python 2示例的前缀以获取等效对象。

此外,Python 3中的repr个unicode字符串会更改为显示字符而不是代码点。