我遇到了一個字符串問題,我通過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