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 просто не помогает …

  • Как использовать покрытие носа с флагом -timid
  • Аргумент строки Python без кодировки
  • scikit-learn: одно горячее кодирование строковых категориальных функций
  • Python правильное кодирование веб-сайта (красивый суп)
  • Обфускационные струны с ASCII и базой 128
  • Python: Какая кодировка используется для обработки sys.argv?
  • Python: UnicodeDecodeError: кодек 'utf8' не может декодировать байт
  • Проблема с вводом CSV UTF-8 в Python
  • Умный способ узнать строковое кодирование?
  • Написание видео с помощью OpenCV + Python + Mac
  • lamson: формат почтового адреса
  • Python - лучший язык программирования в мире.