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

quopri.md

120 строк · 4.7 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.1/library/quopri.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 18.9. `quopri` – Кодирование и декодирование MIME quoted-printable данных89Этот модуль выполняет транспортное кодирование и декодирование в формате quoted-printable, как определено в [**RFC 1521**](https://python-all.ru/3.1/library/quopri.html): «MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies». Кодирование quoted-printable предназначено для данных, в которых относительно мало непечатаемых символов; схема кодирования base64, доступная через модуль [`base64`](https://python-all.ru/3.1/library/base64.html#module-base64), является более компактной при наличии большого количества таких символов, например при отправке графического файла.1011#### `quopri.decode(input, output[, header])`1213Декодирует содержимое файла1415*input*1617и записывает полученные декодированные двоичные данные в файл1819*output*2021.2223*input*2425и2627*output*2829должны быть3031[*файловыми объектами*](https://python-all.ru/3.1/glossary.html#term-file-object)3233.3435*input*3637будет читаться до тех пор, пока3839`input.readline()`4041не вернет пустую строку. Если необязательный аргумент4243*header*4445присутствует и равен true, символ подчеркивания будет декодирован как пробел. Это используется для декодирования заголовков в кодировке «Q», как описано в4647[**RFC 1522**](https://python-all.ru/3.1/library/quopri.html)4849: «MIME (Multipurpose Internet Mail Extensions) часть вторая: расширения заголовков сообщений для не-ASCII текста».5051#### `quopri.encode(input, output, quotetabs)`5253Кодирует содержимое файла5455*input*5657и записывает полученные данные в формате quoted-printable в файл5859*output*6061.6263*input*6465и6667*output*6869должны быть7071[*файловыми объектами*](https://python-all.ru/3.1/glossary.html#term-file-object)7273.7475*input*7677читается до тех пор, пока7879`input.readline()`8081не вернет пустую строку.8283*quotetabs*8485– это флаг, который управляет кодированием встроенных пробелов и табуляций; если true, такие встроенные пробелы кодируются, а если false – остаются не закодированными. Обратите внимание, что пробелы и табуляции в конце строк всегда кодируются, согласно8687[**RFC 1521**](https://python-all.ru/3.1/library/quopri.html)8889.9091#### `quopri.decodestring(s[, header])`9293Как и9495[`decode()`](https://python-all.ru/3.1/library/quopri.html#quopri.decode)9697, за исключением того, что принимает исходную строку и возвращает соответствующую декодированную строку.9899#### `quopri.encodestring(s[, quotetabs])`100101Подобна102103[`encode()`](https://python-all.ru/3.1/library/quopri.html#quopri.encode)104105, за исключением того, что принимает исходную строку и возвращает соответствующую закодированную строку.106107*quotetabs*108109необязателен (по умолчанию 0) и передается напрямую в110111[`encode()`](https://python-all.ru/3.1/library/quopri.html#quopri.encode)112113.114115> **См. также**116>117> **Модуль [`base64`](https://python-all.ru/3.1/library/base64.html#module-base64)**118>119> Кодирование и декодирование данных base64 MIME120