Я имею дело с строками unicode, возвращаемыми библиотекой python-lastfm.
Я предполагаю, что где-то в пути, библиотека неправильно кодирует кодировку и возвращает строку юникода, которая может содержать недопустимые символы.
Например, исходная строка, которую я ожидаю в переменной a, является "Glück"
>>> a u'Gl\xfcck' >>> print a Traceback (most recent call last): File "", line 1, in UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 2: ordinal not in range(128)
\ xfc - это экранированное значение 252, которое соответствует латинскому кодированию "ü". Как-то это встраивается в строку unicode таким образом, что python не может работать сам по себе.
Как мне преобразовать эту строку в нормальную или юникодную строку, содержащую оригинальный "Glück"? Я пытался играть с методами декодирования/кодирования, но либо получил UnicodeEncodeError, либо строку, содержащую последовательность\xfc.