Экспорт Gmail с использованием Python imaplib - текст искажен проблемами новой строки

StackOverflow https://stackoverflow.com/questions/8394201

  •  28-10-2019
  •  | 
  •  

Вопрос

Я использую следующий код для экспорта всех писем в определенную папку Gmail.

Он работает хорошо, поскольку вытаскивает все электронные письма, которые я ожидаю, но он (или я), похоже, искажает кодировку CR / новой строки.

Код:

родовое слово

Моя проблема в том, что к тому времени, когда я добираюсь до объекта, он засоряется символом '= 0A', который, как я предполагаю, неправильно интерпретируется флагом новой строки или возврата каретки.

Я могу найти его в шестнадцатеричном формате, [d3 03 03 0a], но поскольку это не «символы», я не могу найти способ для str.replace () удалить части.На самом деле мне не нужны флаги новой строки.

Я мог бы преобразовать всю строку в шестнадцатеричный и сделать замену сортировки / регулярного выражения, но это похоже на уничтожение - когда проблема в кодировании / чтении исходных данных

Что я вижу:

родовое слово

чего я хочу:

родовое слово
Это было полезно?

Решение

То, что вы видите, представляет собой кодировку Quoted Printable .

Попробуйте изменить:

родовое слово

кому:

родовое слово

Для получения дополнительной информации см. Стандартные кодировки в модуле кодеков Python.

Другие советы

Всего 2 дополнительных пункта, которые не давали покоя в течение дня. Я делаю это на уровне полезной нагрузки, чтобы вы могли обработать email_message, чтобы получить адреса электронной почты и т. Д. Из своей почты.

2 Вам также необходимо декодировать набор кодировок, у меня были проблемы с людьми, копировавшими и вставляющими HTML-код с веб-страниц и содержимое из Word-документов и т. д. в электронные письма, которые я тогда пытался обработать.

родовое слово

Надеюсь, это кому-то поможет!

Дэйв

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top