Unicode -- 版权符号

Unicode -- Copyright Symbol

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

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

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

Python 交互终端:

ord(u"©") --> 169

然而 '\xa9' == "©" --> 错误

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

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

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

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

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