此字符串来自第 3 方模块:
<块引用>/var/www/atenci\xc3\xb3n+integral+a+las+personas+con+c\xc3\xa1ncer
如果在它前面加上 b'' 并从 utf-8 解码,则输出是正确的:
path = b'/var/www/atenci\xc3\xb3n+integral+a+las+personas+con+c\xc3\xa1ncer'
print(path.decode('utf-8'))
<块引用>
/var/www/atención+integral+a+las+personas+con+cáncer
但是如果我尝试使用内置函数或 io.BytesIO 立即对其进行编码和解码,则输出会损坏:
path = '/var/www/atenci\xc3\xb3n+integral+a+las+personas+con+c\xc3\xa1ncer'
decoded = path.encode('utf-8').decode('utf-8')
print(decoded)
<块引用>
/var/www/atención+integral+a+las+personas+con+cáncer
那么,有没有办法让它像在 b'' 前面一样工作?