在python中将“\x”转义字符串转换为可读字符串

oet*_*ter 3 python unicode encoding utf-8

有没有办法将\x转义字符串转换"\\xe8\\xaa\\x9e\\xe8\\xa8\\x80"为可读形式:"??"

>>> a = "\\xe8\\xaa\\x9e\\xe8\\xa8\\x80"
>>> print(a)
\xe8\xaa\x9e\xe8\xa8\x80
Run Code Online (Sandbox Code Playgroud)

我知道,有一个类似的问题在这里,但似乎该解决方案仅适用于拉丁字符。如何将这种形式的字符串转换为可读的 CJK 字符?

Thi*_*lle 5

首先使用'unicode-escape'解码,然后解码为 'utf8':

a = "\\xe8\\xaa\\x9e\\xe8\\xa8\\x80"
    
decoded = a.encode('latin1').decode('unicode_escape').encode('latin1').decode('utf8')
print(decoded)

# ??
Run Code Online (Sandbox Code Playgroud)

请注意,由于我们只能对字节对象进行解码,因此我们需要使用“latin1”对其进行透明编码。