все Python 3binasciiфункция
binascii.b2a_base64()
base64
Кодирует байты в base64 и по умолчанию добавляет в конец b'\n'. Низкоуровневая основа base64.b64encode.
Синтаксис
binascii.b2a_base64(data, *, newline=True)
Перевод строки в конце — частый сюрприз: результат вставляют в JSON или URL, и появляется лишний '\n'. Убирает его newline=False (3.6+), но проще взять base64.b64encode, который его не добавляет. Алфавит стандартный, с '+' и '/', — для URL нужен base64.urlsafe_b64encode. Результат — bytes, для строки нужен .decode('ascii').
Примеры
import binascii
print(binascii.b2a_base64(b'hi')) # → b'aGk=\n'
print(binascii.b2a_base64(b'hi', newline=False)) # → b'aGk='
print(binascii.b2a_base64(b'\xfb\xff', newline=False)) # → b'+/8='
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности