0 Кодирование и декодирование Base64

Чтобы включить модуль base64 в ваш скрипт, вы должны сначала импортировать его:

 import base64

 

Кодирования и декодирования функции base64 оба требуют байт-подобный объект . Чтобы получить нашу строку в байтах, мы должны кодировать ее, используя встроенную в Python функцию кодирования. Чаще всего UTF-8 используется кодировка, однако полный список этих стандартных кодировок (включая языки с различными символами) можно найти здесь в официальной документации Python. Ниже приведен пример кодирования строки в байты:

 s = "Hello World!"
b = s.encode("UTF-8")

 

Вывод последней строки будет:

b'Hello World!'

b префикс используются для обозначения значения является объектом байт.

Для Base64 кодирования этих байт, мы используем base64.b64encode() функцию:

 import base64
s = "Hello World!"
b = s.encode("UTF-8")
e = base64.b64encode(b)
print(e)

 

Этот код выведет следующее:

b'SGVsbG8gV29ybGQh'

который все еще находится в объекте байтов. Для того, чтобы получить строку из этих байт, мы можем использовать Python, decode() метод с UTF-8 кодировкой:

 import base64
s = "Hello World!"
b = s.encode("UTF-8")
e = base64.b64encode(b)
s1 = e.decode("UTF-8")
print(s1)

 

Результат будет тогда:

SGVsbG8gV29ybGQh

Если мы хотим , чтобы закодировать строку и затем декодировать мы могли бы использовать base64.b64decode() метод:

 import base64
# Creating a string
s = "Hello World!"
# Encoding the string into bytes
b = s.encode("UTF-8")
# Base64 Encode the bytes
e = base64.b64encode(b)
# Decoding the Base64 bytes to string
s1 = e.decode("UTF-8")
# Printing Base64 encoded string
print("Base64 Encoded:", s1)
# Encoding the Base64 encoded string into bytes
b1 = s1.encode("UTF-8")
# Decoding the Base64 bytes
d = base64.b64decode(b1)
# Decoding the bytes to string
s2 = d.decode("UTF-8")
print(s2)

 

Как и следовало ожидать, выводом будет исходная строка:

 Base64 Encoded: SGVsbG8gV29ybGQh
Hello World!