Расшифровка с двойным кодированием utf8 в Python
У меня проблема со строками, которые я получаю от одного из моих клиентов через 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'
однако это работает ужасно и не может быть использовано в рабочем коде. Если кто-нибудь знает, как решить эту проблему более подходящим способом, пишите. Спасибо, Крис