Python 修复解析为 =C3=A9 的法语口音

Python fix french accents parsed as =C3=A9

在 python 中,我遇到了一些来自法语的带重音的字符串,我无法将其转换回正常状态,例如:

word1 = 'install=C3=A9' # should be installé
word2 = 'transf=E9r=E9' # should be transféré
word3 = 'bient=C3=B4t'  # should be bientôt

我阅读的大多数文档都指定读取带有一些编码的文件='utf-8' 左右,但在这里我坚持使用实际的字符串。有没有办法解码字符串,或者我应该构建一个 maximega .replace() 函数?

编码好像是Quoted Printable

import quopri
word1 = 'install=C3=A9'
byteString = quopri.decodestring(word1)
string = byteString.decode('utf-8')
print(string)

实际上该函数需要字节作为输入,所以将单词声明为字节会更好:

word1 = b'install=C3=A9'