考虑下面的例子:
我正在idle中使用
为什么会这样?是否有规范来控制这种行为?
CPython,2.7版。
编辑 我实际要找的代码是:
>>> s = u"баба"
>>> s
u'\xe1\xe0\xe1\xe0'
>>> print s
áàáà
我正在idle中使用
cp1251
编码,但似乎解释器实际上使用latin1
来创建Unicode字符串:>>> print s.encode('latin1')
баба
为什么会这样?是否有规范来控制这种行为?
CPython,2.7版。
编辑 我实际要找的代码是:
>>> u'\xe1\xe0\xe1\xe0' == u'\u00e1\u00e0\u00e1\u00e0'
True
似乎当使用 latin1
编解码 Unicode 时,小于256的所有Unicode点都被保留不变,因此结果是我之前输入的字节。