您可以使用常规的列表理解来映射中的4个字符
text
,并使用
ord
得到
奥德
码点的最后一个(整数),然后
hex()
将其转换为十六进制。这个
[2:]
需要切片来去除
0x
否则Python会添加。
>>> text = "\u54c8\u54c8\u54c8\u54c8"
>>> text
'åååå'
>>> [hex(ord(c))[2:] for c in text]
['54c8', '54c8', '54c8', '54c8']
>>>
然后你可以使用。
"".join()
如果你需要一根绳子。
(另一种写理解的方法是使用f字串和
x
十六进制格式:
>>> [f'{ord(c):x}' for c in text]
['54c8', '54c8', '54c8', '54c8']
)
如果你
事实上
有一根绳子
\u54c8\u54c8\u54c8\u54c8
,即“反斜杠,u,5,4,c,8”重复4次,您需要首先解码反斜杠转义序列以获得4码点字符串:
>>> text = r"\u54c8\u54c8\u54c8\u54c8"
>>> codecs.decode(text, "unicode_escape")
'åååå'