【问题标题】:Python 2.x Strings: Unicode vs. BytesPython 2.x 字符串:Unicode 与字节
【发布时间】:2015-12-31 13:05:08
【问题描述】:

我处理非我们所用的语言,有时还必须用 Python 2.x 编写。阅读这篇文章:Brett Cannon 的 http://www.snarky.ca/why-python-3-exists 让我想知道这是否意味着如果我使用仅是字符而不是字节的字符串,我是否应该在我的所有字符串前面加上 u,以避免字节串之间的潜在混淆和 unicode 字符串?并且:这是否也适用于 Jython?

最后一个问题:-*- coding: utf-8 -*- 完全独立于上述内容,仅提供文件本身的编码 - 对吗?

【问题讨论】:

    标签: python string unicode character-encoding


    【解决方案1】:

    是的,您希望将文本保留在 unicode 对象(Python 3 中的 str 类型)中,并保持 Unicode 三明治(尽快解码传入的数据,推迟编码直到数据需要退出您的应用程序)。见Ned Batchelder's excellent Unicode presentation

    这也适用于 Jython,它只是 Python 语言的另一种实现。

    PEP 263 source code encoding declaration 告诉解释器在解码源代码中的字节时使用什么编解码器。它有助于用非 ASCII 字节定义 Unicode 文字,但不规定除源代码之外的其他数据如何编码或解码。

    【讨论】:

      猜你喜欢
      • 2010-10-01
      • 2012-04-21
      • 1970-01-01
      • 2017-03-15
      • 1970-01-01
      • 2012-04-08
      • 1970-01-01
      • 2011-09-22
      相关资源
      最近更新 更多