все 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Сообщить о неточности