email.encoders: Кодировки

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


Этот модуль является частью устаревшего API электронной почты (Compat32). В новом API функциональность обеспечивается параметром cte метода set_content().

Этот модуль устарел в Python 3. Функции, обеспеченные здесь, не должны быть вызваны явно, так как класс MIMEText устанавливает тип контента и заголовок CTE, используя _subtype, и _charset значения прошел во время instaniation того класса.

Оставшимся текстом в этом разделе является первоначальная документация модуля.

При создании объектов Message с нуля часто требуется кодировать полезные нагрузки для транспорта через соответствующие почтовые серверы. Это особенно верно для сообщений типа image/* и text/*, содержащих двоичные данные.

Пакет email обеспечивает некоторый удобный кодеры в своем модуле encoders. Эти кодеры - на самом деле используемый MIMEAudio и конструкторами класса MIMEImage, чтобы обеспечить кодирование по умолчанию. Все функции кодировщика принимают ровно один аргумент, объект сообщения для кодирования. Они обычно извлекают полезный груз, кодируют его и перезагружают полезный груз к этому недавно кодированный значение. Они также должны соответствующим образом установить заголовок Content-Transfer-Encoding.

Обратите внимание, что эти функции не являются значимыми для многопозиционного сообщения. Они должны быть применены к отдельным подразделениям и поднимут TypeError, если передано сообщение, тип которого многослойный.

Ниже приведены функции кодировка:

email.encoders.encode_quopri(msg)

Кодирование полезную нагрузку в печатаемую в кавычках форму и устанавливает для заголовка Content-Transfer-Encoding значение quoted-printable [1]. Это - хороший кодировка, чтобы использовать, когда большая часть вашего полезного груза - нормальные пригодные для печатания данные, но содержит несколько непечатных знаков.

email.encoders.encode_base64(msg)

Кодирование полезных данных в форму base64 и устанавливает заголовок Content-Transfer-Encoding в значение base64. Это - хороший кодировка, чтобы использовать, когда большая часть вашего полезного груза - непечатные данные, так как это - более компактная форма, чем указанный - пригодный для печатания. Недостаток base64 кодировка заключается в том, что он делает текст нечеловеческим.

email.encoders.encode_7or8bit(msg)

Это на самом деле не изменяет полезный груз сообщения, но он действительно устанавливает заголовок Content-Transfer-Encoding или в 7bit или в 8bit как соответствующий, на основе данных о полезном грузе.

email.encoders.encode_noop(msg)

Это ничего не делает; он даже не устанавливает заголовок Content-Transfer-Encoding.

Сноски

[1]Обратите внимание, что кодировка с encode_quopri() также кодирует все табы и символы пробелов в данных.