我从我的一个客户通过 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/