Python: конвертировать строку из UTF-8 в Latin-1

Я чувствую себя сложным, пытаясь изменить кодировки с помощью Python 2.5

У меня есть ответ XML, который я кодирую в UTF-8: response.encode('utf-8') . Это хорошо, но программа, которая использует эту информацию, не любит эту кодировку, и мне нужно ее преобразовать на другую кодовую страницу. Реальный пример заключается в том, что я использую модуль python ghostscript для вставки данных pdfmark в файл PDF – конечный результат с неправильными символами в Acrobat.

Я делал множество комбинаций с .encode() и .decode() между «utf-8» и «latin-1», и это сводит меня с ума, поскольку я не могу вывести правильный результат.

Если я .encode('utf-8') строку в файл с .encode('utf-8') а затем преобразую этот файл из UTF-8 в CP1252 (aka latin-1) с ie icon.exe и вставляем данные, все в порядке.

В принципе, кто-то может помочь мне преобразовать, т.е. символ, который UTF-8 закодирован как hex: C3 A1 в латинский-1 как hex: E1 ?

заранее спасибо

4 Solutions collect form web for “Python: конвертировать строку из UTF-8 в Latin-1”

Вместо .encode('utf-8') используйте .encode('latin-1') .

 data="UTF-8 data" udata=data.decode("utf-8") data=udata.encode("latin-1","ignore") 

Должен это делать.

Можете ли вы предоставить более подробную информацию о том, что вы пытаетесь сделать? В общем случае, если у вас есть строка в Юникоде, вы можете использовать кодировку для преобразования ее в строку с соответствующей кодировкой. Например:

 >>> a = u"\u00E1" >>> type(a) <type 'unicode'> >>> a.encode('utf-8') '\xc3\xa1' >>> a.encode('latin-1') '\xe1' 

Если предыдущие ответы не решают проблему, проверьте источник данных, которые не будут правильно печатать / конвертировать.

В моем случае я использовал json.load для неверно прочитанных данных из файла, не используя encoding="utf-8" . Попытка декомпрессии / кодирования результирующей строки на latin-1 просто не помогает …

  • Декодирование электронной почты электронной почты Python
  • Как изменить stdin-кодировку на python
  • Неподдерживаемые символы ввода В Python IDLE
  • UnicodeEncodeError запись текста со специальным символом в файл
  • Python, консоль и кодировки Windows (cp 850 vs cp1252)
  • Прочитать текстовый файл с не-ASCII-символами в неизвестной кодировке
  • Python encode list 'list' не имеет атрибута 'encode'
  • синтаксический анализ xml и html-страницы с помощью lxml и пакета запросов в python
  • Python - лучший язык программирования в мире.