email.encoders.md · Markdown – Документация Python
Документация Python неофициальный перевод

email.encoders.md

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

1> **Источник:** https://python-all.ru/3.0/library/email.encoders.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# [`email`](https://python-all.ru/3.0/library/email.html#module-email): Кодировщики89При создании объектов `Message` с нуля часто необходимо кодировать полезные нагрузки для передачи через совместимые почтовые серверы. Это особенно актуально для сообщений типа *image/\** и *text/\**, содержащих двоичные данные.1011Пакет [`email`](https://python-all.ru/3.0/library/email.html#module-email) предоставляет несколько удобных кодировок в своём модуле `encoders`. Эти кодировщики фактически используются конструкторами классов `MIMEAudio` и `MIMEImage` для предоставления кодировок по умолчанию. Все функции кодировщиков принимают ровно один аргумент – объект сообщения для кодирования. Они обычно извлекают полезную нагрузку, кодируют её и заменяют полезную нагрузку на это вновь закодированное значение. Они также должны установить заголовок *Content-Transfer-Encoding* соответствующим образом.1213Вот предоставленные функции кодирования:1415#### `[email.encoders.encode_quopri]email.encoders.encode_quopri(msg)`1617Кодирует полезную нагрузку в формат quoted-printable и устанавливает заголовок1819*Content-Transfer-Encoding*2021в значение2223`quoted-printable`2425[\[1\]](https://python-all.ru/3.0/library/email.encoders.html#id2)2627. Это хорошая кодировка, когда большая часть полезной нагрузки – обычные печатаемые данные, но встречается несколько непечатаемых символов.2829#### `[email.encoders.encode_base64]email.encoders.encode_base64(msg)`3031Кодирует полезную нагрузку в формат base64 и устанавливает заголовок3233*Content-Transfer-Encoding*3435в значение3637`base64`3839. Это хорошая кодировка, когда большая часть полезной нагрузки – непечатаемые данные, поскольку она более компактна по сравнению с quoted-printable. Недостаток кодировки base64 в том, что она делает текст нечитаемым для человека.4041#### `[email.encoders.encode_7or8bit]email.encoders.encode_7or8bit(msg)`4243Эта функция на самом деле не изменяет полезную нагрузку сообщения, но устанавливает заголовок4445*Content-Transfer-Encoding*4647в значение4849`7bit`5051или5253`8bit`5455в зависимости от данных полезной нагрузки.5657#### `[email.encoders.encode_noop]email.encoders.encode_noop(msg)`5859Эта функция ничего не делает; она даже не устанавливает заголовок6061*Content-Transfer-Encoding*6263.6465Сноски6667| [\[1\]](https://python-all.ru/3.0/library/email.encoders.html#id1) | Обратите внимание, что кодирование с помощью [`encode_quopri()`](https://python-all.ru/3.0/library/email.encoders.html#email.encoders.encode_quopri) также кодирует все символы табуляции и пробела в данных. |68| --- | --- |69