У меня проблема со строками, которые я получаю от одного из моих клиентов по сравнению с xmlrpc. Он отправляет мне строки utf8, которые закодированы дважды :(Поэтому, когда я получаю их на python, у меня есть объект unicode, который нужно декодировать еще раз, но, очевидно, python этого не позволяет. Я заметил, что мой клиент мне нужен сделать быстрый обходной путь сейчас, прежде чем он фиксирует этоДекодирование с двойной кодировкой utf8 в Python
Raw строка из протокола 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
Спасибо, партизан, я об этом не знаю. –
Пусть ваша репутация выйдет за рамки ожиданий, даже после всех этих лет! :) – Marian