Python Glossary English

все Python 3binasciiфункция

binascii.a2b_qp()

uuencode и quoted-printable

Декодирует quoted-printable в байты: =XX становятся байтами, мягкие переносы '=\n' убираются. Результат — bytes, текст получают .decode().

Синтаксис

binascii.a2b_qp(data, header=False)

Частая ошибка — ждать str: после a2b_qp нужен ещё .decode() в кодировке из заголовка письма (charset=...). Мягкий перенос '=' в конце строки склеивает строки, поэтому число строк на выходе меньше, чем на входе. Подчёркивания становятся пробелами только при header=True — в теле письма '_' остаётся '_'.

Примеры

import binascii
raw = binascii.a2b_qp(b'=D0=9F=D1=80=\n=D0=B8')
print(raw)  # → b'\xd0\x9f\xd1\x80\xd0\xb8'
print(raw.decode('utf-8'))  # → При
print(binascii.a2b_qp(b'a_b'), binascii.a2b_qp(b'a_b', header=True))  # → b'a_b' b'a b'

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности