Python 3.4+base64функция
base64.a85decode()
Ascii85 и Base85
Декодирует Ascii85 в байты. Формат обёртки должен совпадать: данные '<~ … ~>' читаются только с adobe=True.
Синтаксис
base64.a85decode(b, *, foldspaces=False, adobe=False, ignorechars=b' \t\n\r\v')
Строка из PDF в обёртке '<~ … ~>' без adobe=True вызывает ошибку, и наоборот. Тип ошибки менялся между версиями (ValueError, в 3.15 — binascii.Error, его подкласс), поэтому ловите ValueError. Пробельные символы по умолчанию игнорируются, а 'z' раскрывается в четыре нулевых байта.
Примеры
import base64
data = b'<~87cURD]i,"Ebo80~>'
print(base64.a85decode(data, adobe=True)) # → b'Hello World!'
try:
base64.a85decode(data)
except ValueError as e:
print('ошибка без adobe=True') # → ошибка без adobe=True
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности