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

18.9. quopri – Кодирование и декодирование MIME quoted-printable данныхquopri – Encode and decode MIME quoted-printable data

Исходный код: Lib/quopri.py


Этот модуль выполняет транспортное кодирование и декодирование в формате quoted-printable, как определено в RFC 1521: «MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies». Кодирование quoted-printable предназначено для данных, в которых относительно мало непечатаемых символов; схема кодирования base64, доступная через модуль base64, является более компактной при наличии большого количества таких символов, например при отправке графического файла.

quopri.decode(input, output, header=False)

Декодирует содержимое файла input и записывает полученные декодированные двоичные данные в файл output. input и output должны быть файловыми объектами. input будет читаться до тех пор, пока input.readline() не вернет пустую строку. Если необязательный аргумент header присутствует и равен true, символ подчеркивания будет декодирован как пробел. Это используется для декодирования заголовков в кодировке «Q», как описано в RFC 1522: «MIME (Multipurpose Internet Mail Extensions) часть вторая: расширения заголовков сообщений для не-ASCII текста».

quopri.encode(input, output, quotetabs, header=False)

Кодирует содержимое файла input и записывает полученные данные в кодировке quoted-printable в файл output. input и output должны быть файловыми объектами. input будет читаться до тех пор, пока input.readline() не вернет пустую строку. quotetabs – это флаг, который управляет кодированием встроенных пробелов и табуляций; если он равен true, такие встроенные пробельные символы кодируются, а если false – остаются не закодированными. Обратите внимание, что пробелы и табуляции в конце строк всегда кодируются, как указано в RFC 1521. header – это флаг, который управляет кодированием пробелов в виде символов подчеркивания, как указано в RFC 1522.

quopri.decodestring(s, header=False)

Как и decode(), за исключением того, что принимает исходную строку и возвращает соответствующую декодированную строку.

quopri.encodestring(s, quotetabs=False, header=False)

Как и encode(), за исключением того, что принимает исходную строку и возвращает соответствующую закодированную строку. Параметры quotetabs и header являются необязательными (по умолчанию False) и передаются напрямую в encode().

См. также

Модуль base64
Кодирование и декодирование данных base64 MIME