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

时间:2016-11-20 06:04:55

标签: python python-3.x unicode emoji python-unicode

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

print(u"\u2605")
  

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

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

B' \ XFF \ XFE \ X05&安培;'

1 个答案:

答案 0 :(得分:6)

您可以使用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