【问题标题】:Unicode -- Copyright SymbolUnicode——版权符号
【发布时间】:2018-08-09 00:46:39
【问题描述】:

我试图在 Python 中表示版权符号 ©。

如果我在 python 交互式终端中输入 ©,我会得到 '\xc2\xa9'。这是十六进制的 169 和 194。

但如果我在 unicode 表中查找版权符号,它只有 169。

Python 交互终端:

ord(u"©") --> 169

但是 '\xa9' == "©" --> 错误

只有 '\xc2\xa9' == "©" --> 正确

我真的不明白为什么 169 194 一起提供版权,而不仅仅是 169 或只是 194。

【问题讨论】:

  • 因为大于127的码位必须用UTF-8中的多个字节表示
  • 你可以用python3试试。 Py3 的 unicode 更加直观和一致。
  • @Emily,确实如此,Python 3 确实看起来更直观。感谢您的提示。

标签: unicode ascii non-ascii-characters python-unicode


【解决方案1】:

您的终端支持 UTF-8 编码,您可能使用的是 Python 2:

>>> import sys
>>> sys.stdout.encoding
'utf-8'
>>> '©'
'\xc2\xa9'
>>> u'©'
u'\xa9'

Python 2 使用字节字符串,字符在终端的编码中进行编码。使用 Unicode 字符串获取 Unicode 值。

【讨论】:

  • 感谢您的澄清!这是有道理的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-07
  • 1970-01-01
  • 2020-07-13
  • 2015-12-15
  • 1970-01-01
相关资源
最近更新 更多