python - 在 Python 中解码双重编码的 utf8

标签 python string utf-8 decode

我从我的一个客户通过 xmlrpc 获得的字符串有问题。他向我发送了编码两次的utf8字符串:(所以当我在python中获取它们时,我有一个必须再解码一次的unicode对象,但显然python不允许这样做。我注意到我的客户但是我需要在他修复它之前先做一个快速的解决方法。

来自 tcp 转储的原始字符串:

<string>Rafa\xc3\x85\xc2\x82</string>

这被转换成:

u'Rafa\xc5\x82'

我们得到的最好的是:

eval(repr(u'Rafa\xc5\x82')[1:]).decode("utf8") 

这导致正确的字符串是:

u'Rafa\u0142' 

然而,这工作很丑陋,不能在生产代码中使用。 如果有人知道如何以更合适的方式解决此问题,请写信。 谢谢, 克里斯

最佳答案

>>> s = u'Rafa\xc5\x82'
>>> s.encode('raw_unicode_escape').decode('utf-8')
u'Rafa\u0142'
>>>

关于python - 在 Python 中解码双重编码的 utf8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1177316/

相关文章:

python - Pandas:如何屏蔽连续行后的第一行?

c# - 改变字符串的中间位置

javascript - 在 JavaScript 字符串中获取单词 #n

php - 在 PHP 中使用 BOM 将字符串编码为 UTF-8

java - jsp 和 utf-8 字符

python - 如何阻止聚合函数向数据帧添加不需要的行?

javascript - 刷新页面 Ajax Flask Web 应用程序

python - 监控 Rsync 进度

python - 使用 Python 的 Format Specification Mini-Language 对齐 float

php - MySql、Php 未设置为 UTF8