【发布时间】:2013-05-20 20:44:22
【问题描述】:
我希望能够在我的 python 字符串中使用 unicode。例如我有一个图标:
icon = '▲'
print icon
应该创建 icon = '▲'
但它实际上以字符串形式返回它:▲
如何让这个字符串识别 unicode?p>
提前感谢您的帮助。
【问题讨论】:
-
你应该调整你的问题的标题。这个问题根本与 utf-8 无关。
我希望能够在我的 python 字符串中使用 unicode。例如我有一个图标:
icon = '▲'
print icon
应该创建 icon = '▲'
但它实际上以字符串形式返回它:▲
如何让这个字符串识别 unicode?p>
提前感谢您的帮助。
【问题讨论】:
您可以使用字符串转义序列,如语言参考的the “string and bytes literals” section 中所述。对于 Python 3,这将像这样简单地工作:
>>> icon = '\u25b2'
>>> print(icon)
▲
在 Python 2 中,这只适用于 unicode 字符串。 Unicode 字符串在引号前有一个u 前缀:
>>> icon = u'\u25b2'
>>> print icon
▲
这在 Python 3 中不是必需的,因为 Python 3 中的所有字符串都是 unicode 字符串。
【讨论】:
>>> print u'\N{BLACK UP-POINTING TRIANGLE}'
▲
【讨论】:
在 unicode 字符串文字中使用 \u 转义:
>>> print u"\u25B2".encode("utf-8")
▲
或者,如果你想使用 HTML 实体,你可以使用这个答案:https://stackoverflow.com/a/2087433/71522
【讨论】:
>>> icon = '\u25B2'
>>> print(icon)
▲
【讨论】: