все Python 3binasciiфункция
binascii.a2b_uu()
uuencode и quoted-printable
Декодирует одну строку uuencode обратно в байты. Длину данных берёт из первого символа строки, а не из её фактической длины.
Синтаксис
binascii.a2b_uu(string)
Строку передают по одной: весь файл uuencode с заголовком 'begin 644 name' целиком не декодируется — заголовок и строку 'end' надо отбросить и звать функцию на каждую строку. Если первый символ (длина) не сходится с данными, получите binascii.Error 'Trailing garbage'. Модуль uu удалён в 3.13, так что binascii — последний инструмент для этого формата.
Примеры
import binascii
line = binascii.b2a_uu(b'hello')
print(line[:1], len(line)) # → b'%' 10 — '%' кодирует длину 5
print(binascii.a2b_uu(line)) # → b'hello'
try:
binascii.a2b_uu(b'"' + line[1:])
except binascii.Error as e:
print(e) # → Trailing garbage — заголовок обещал 2 байта, а данных больше
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности