Python Glossary English

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

binascii.a2b_base64()

base64

Декодирует base64 в байты. По умолчанию молча пропускает посторонние символы; strict_mode=True (3.11+) требует строгий RFC 4648.

Синтаксис

binascii.a2b_base64(string, /, *, strict_mode=False)

Нестрогий режим прощает пробелы, переводы строк и мусор — удобно для писем, но опасно для проверки ввода: 'aG k=' декодируется без ошибки. Нехватка '=' в конце даёт binascii.Error 'Incorrect padding' — частая беда base64 из URL, где '=' обрезали; лечится дописыванием '=' * (-len(s) % 4). Принимает и str из ASCII.

Примеры

import binascii
print(binascii.a2b_base64('aG k=\n'))  # → b'hi'
s = 'aGk'
print(binascii.a2b_base64(s + '=' * (-len(s) % 4)))  # → b'hi'
try:
    binascii.a2b_base64(s)
except binascii.Error as e:
    print(e)  # → Incorrect padding
# Python 3.11+
import binascii
try:
    binascii.a2b_base64('aG k=', strict_mode=True)
except binascii.Error as e:
    print(e)  # → Only base64 data is allowed

См. также

Частые ошибки

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