我遇到了一个字符串问题,我通过xmlrpc从我的一个客户端获得了字符串。他向我发送了编码两次的utf8字符串:(所以当我在python中获得它们时,我有一个unicode对象需要再次解码,但显然python不允许这样做。到现在他修正它之前做快速的解决方法在Python中解码双重编码的utf8
从TCP转储原始字符串:
<string>Rafa\xc3\x85\xc2\x82</string>
这个被转换成:
u'Rafa\xc5\x82'
我们得到的最好的是:
eval(repr(u'Rafa\xc5\x82')[1:]).decode("utf8")
这导致正确的字符串是:
u'Rafa\u0142'
这工作然而这丑陋的地狱,并且不能在生产代码中使用。 如果有人知道如何以更合适的方式解决这个问题,请写。 谢谢, 克里斯
@partisann:整洁!我不知道raw_unicode_escape(显然8-) – RichieHindle 2009-07-24 13:17:42
谢谢partisann,我也不知道它。 – 2009-07-27 09:10:47