显示 Python 3 中 Unicode 符号的文本表示

Showing text representation of Unicode symbol in Python 3

我可以在我的 ipython 笔记本中执行此操作:

print(u"\u2605")

但是我该如何倒退呢?也就是说,从符号到 unicode 字符串。以 UTF-8 或 UTF-16 编码是给出二进制表示。例如:

print('★'.encode('utf-16'))

b'\xff\xfe\x05&'

您可以使用 unicode-escape encoding:

>>> '★'.encode('unicode-escape')
b'\u2605'
>>> print('★'.encode('unicode-escape').decode())
\u2605

ord如果你只想知道代码点:

>>> ord('★')
9733
>>> hex(ord('★'))  # as hexa decimal
'0x2605'
>>> print(r'\u%x' % ord('★'))
\u2605

更新

你也可以使用ascii:

>>> print(ascii('★'))  # NOTE: surrounding quote
'\u2605'
>>> print(ascii('★').strip("'"))
\u2605