我有一个以UTF-8格式编码的字符串,但不确定如何将此字符串转换为相应的字符字面值。例如,我有以下字符串:
我的字符串是:
该代码:
返回结果:
我得到了结果:
例如:
我希望“c”的结果是:
我的字符串是:
'Entre\xc3\xa9'
示例一:该代码:
u'Entre\xc3\xa9'.encode('latin-1').decode('utf-8')
返回结果:
u'Entre\xe9'
如果我接着打印这个:print u'Entre\xe9'
我得到了结果:
Entreé
这很好,也接近我所需要的。问题是,我无法将“Entre\xc3\xa9”作为变量传递并通过步骤,因为现在会出错。有什么提示可以让它工作吗?例如:
a = 'Entre\xc3\xa9'
b = 'u'+ a.encode('latin-1').decode('utf-8')
c= 'u'+ b
我希望“c”的结果是:
Entreé
u'Entre\xe9'
)和值。print
显示给你的是值(编码为您的终端),而您的 Python 控制台显示给你的是表示(用于调试)。没有发生任何值的更改。Python 正在向您显示一个可以复制并粘贴到源代码中而无需声明源代码编码超出默认 ASCII 的值,因此对于 U+00E9 Unicode 代码点显示了转义序列(\xe9
)。这是正常的。 - Martijn Pieters