Сообщить об ошибке.

Функции b64encode() и b64decode() модуля base64 в Python

Кодирование/декодирование с помощью Base64

Синтаксис:

import base64

base64.b64encode(s, altchars=None)
base64.b64decode(s, altchars=None, validate=False)

Параметры:

  • s - байтоподобный объект.
  • altchars=None - байтоподобный объект,
  • validate=False - проверка на символы, не содержащиеся в обычном алфавите base-64.

Возвращаемое значение:

Описание:

Функция base64.b64encode() кодирует байтоподобный объект s с помощью Base64 и возвращает закодированную байтовую строку.

Функция base64.b64decode() расшифровывает/декодирует байтоподобный объект s или строку ASCII, закодированный в Base64 байтоподобный объект s или строку ASCII и возвращает декодированную байтовую строку.

Необязательный аргумент altchars должен быть байтоподобным объектом как минимум длиной 2 символа (дополнительные символы игнорируются), который указывает альтернативный алфавит для символов '+' и '/'. Это позволяет приложению, например генерировать URL или безопасную для файловой системы строки Base64. По умолчанию None, т. е. используется стандартный алфавит Base64.

Для функции base64.b64decode(), если байтовая строка s неправильно закодирована, то возникает исключение binascii.Error.

Если validate имеет значение False (по умолчанию), то символы, которые не содержатся ни в обычном алфавите base-64, ни в альтернативном алфавите, отбрасываются до проверки заполнения. Если validate равен True, эти не алфавитные символы во входных данных приводят к возникновению исключения binascii.Error.

Примеры использования:

>>> import base64
>>> str = 'Привет посетитель!'
# кодируем в байты
>>> str_bytes = str.encode('utf-8')
# кодируем в base64
>>> encoded = base64.b64encode(str_bytes)
>>> encoded
# b'0J/RgNC40LLQtdGCINC/0L7RgdC10YLQuNGC0LXQu9GMIQ=='

# расшифровываем закодированную строку в Base64
>>> data = base64.b64decode(encoded)
>>> data.decode('utf-8')
# 'Привет посетитель!'