显示 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
我可以在我的 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