2016-11-20 72 views
2

我可以在我的IPython筆記本做到這一點:顯示文本表示3

print(u"\u2605") 

但我怎麼往回走?也就是說,從符號到unicode字符串。使用UTF-8或UTF-16對其進行編碼可提供二進制表示。例如:

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

B '\ XFF \ XFE \ X05 &'

回答

5

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

或'ASCII( '★')' –

+0

@Robᵩ,謝謝你的信息。我更新了包含該答案的答案。 – falsetru