【问题标题】:python 2.X and 3.X character encoding differencepython 2.X和3.X字符编码的区别
【发布时间】:2013-10-17 00:31:16
【问题描述】:

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

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    您的 Python 2 示例是一个字节串,您的 Python 3 是一个 unicode 字符串。在 Python 2 示例前面加上 u 以获取等效对象。

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

    【讨论】:

      猜你喜欢
      • 2019-03-06
      • 2013-10-02
      • 2019-09-27
      • 1970-01-01
      • 2015-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多