import base64 base64.b64encode(s, altchars=None) base64.b64decode(s, altchars=None, validate=False)
s
- байтоподобный объект.altchars=None
- байтоподобный объект,validate=False
- проверка на символы, не содержащиеся в обычном алфавите base-64.b64encode
- закодированную байтовую строку,b64decode
- декодированную байтовую строку.Функция 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') # 'Привет посетитель!'