Python:如何翻译包含 unicode 解码字符的 UTF8 字符串("Ok\u00c9" 到 "Oké")

Python: How to translate UTF8 String containing unicode decoded characters ("Ok\u00c9" to "Oké")

我正在尝试修复从 python 脚本中获取的字符串。

我正在调用 API,但它返回给我的 utf8 字符串仍然包含 unicode 编码的字符。

像“Ok\u00c9”这样的东西应该是“Oké”。

我尝试转换它,但修复它的所有努力似乎都导致了错误或相同的结果。 Python 3 有没有人可以帮我解决这个问题?

print('\u00c9'.encode().decode('unicode-escape'))
>> é
print('Ok\u00c9'.encode().decode('unicode-escape'))
>> should print 'Oké'
>> but gives an error

希望你们知道解决方案。提前致谢!

我找到问题了。编码解码错误。文本以 Windows-1252 编码出现。

我用过

import chardet
chardet.detect(var3.encode())

检测正确的编码,然后

var3 = 'OK\u00c9'.encode('utf8').decode('Windows-1252').encode('utf8').decode('utf8')

转换以最终获得正确的格式!