Я использую python 2.7, и у меня есть некоторые проблемы с преобразованием символов, таких как «ä» в «ae».кодировка строки python unicode
Я извлекая содержание веб-страницы с помощью:
req = urllib2.Request(url + str(questionID))
response = urllib2.urlopen(req)
data = response.read()
После того, что я делаю некоторые вещи извлечения и есть моя проблема.
extractedStr = pageContent[start:end] // this string contains the "ä" !
extractedStr = extractedStr.decode("utf8") // here I get the error, tried it with encode aswell
extractedStr = extractedStr.replace(u"ä", "ae")
-> 'utf8' кодек не может декодировать байт 0xe4 в позиции 13: недействительный продолжение байт
Но: моя простая проба работает нормально ...:
someStr = "geräusch"
someStr = someStr.decode("utf8")
someStr = someStr.replace(u"ä", "ae")
У меня такое чувство, это имеет какое-то отношение к КОГДА Я пытаюсь использовать функцию .decode() ... Я пробовал это на нескольких позициях, без успеха :(
use '.decode (" latin-1 ")' –
теперь работает нормально, thx. –
Не беспокойтесь, данные кодируются латинским-1, кодировка должна быть в заголовках под типом контента. –