我通过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'
>>>

07-24 21:29