2
我可以在我的IPython笔记本做到这一点:显示文本表示3
print(u"\u2605")
★
但我怎么往回走?也就是说,从符号到unicode字符串。使用UTF-8或UTF-16对其进行编码可提供二进制表示。例如:
print('★'.encode('utf-16'))
B '\ XFF \ XFE \ X05 &'
我可以在我的IPython笔记本做到这一点:显示文本表示3
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
UPDATE
您还可以使用ascii
:
>>> print(ascii('★')) # NOTE: surrounding quote
'\u2605'
>>> print(ascii('★').strip("'"))
\u2605
或'ASCII( '★')' –
@Robᵩ,谢谢你的信息。我更新了包含该答案的答案。 – falsetru