Кодирование и декодирование строк Base64 в Python
Кодировка Base64 используется для преобразования байтов, содержащих двоичные или текстовые данные, в символы ASCII. Кодирование предотвращает повреждение данных при их передаче или обработке через текстовую систему. В этой статье мы обсудим кодирование и декодирование Base64 и его использование для кодирования и декодирования двоичных и текстовых данных.
Кодировка Base64:
Это тип преобразования байтов в символы ASCII. список доступных символов Base64 приведен ниже:
- 26 заглавных букв
- 26 строчных букв
- 10 номеров
- + и / для новых строк
Каждый символ Base64 представляет 6 бит данных. также важно отметить, что он не предназначен для шифрования по очевидным причинам.
Чтобы преобразовать строку в символ Base64, необходимо выполнить следующие шаги:
- Получите значение ASCII каждого символа в строке.
- Вычислить 8-битный двоичный эквивалент значений ASCII
- Преобразуйте блок из 8-битных символов в блоки по 6 бит, перегруппировав цифры.
- Преобразуйте 6-битные двоичные группы в их соответствующие десятичные значения.
- Используйте таблицу кодировки Base64, чтобы выровнять соответствующие значения Base64 для каждого десятичного значения.
На изображении ниже представлена таблица кодировки Base64.

Источник изображения: Википедия
In Python the base64 module is used to encode and decode data. First, the strings are converted into byte-like objects and then encoded using the base64 module. The below example shows the implementation of encoding strings isn’t base64 characters.
Example:
import base64 sample_string = "GeeksForGeeks is the best" sample_string_bytes = sample_string.encode( "ascii" ) base64_bytes = base64.b64encode(sample_string_bytes) base64_string = base64_bytes.decode( "ascii" ) print (f "Encoded string: {base64_string}" ) |
Output:
Encoded string: R2Vla3NGb3JHZWVrcyBpcyB0aGUgYmVzdA==
Using Python to decode strings:
Decoding Base64 string is exactly opposite to that of encoding. First we convert the Base64 strings into unencoded data bytes followed by conversion into bytes-like object into a string. The below example depicts the decoding of the above example encode string output.
Example:
import base64 base64_string = " R2Vla3NGb3JHZWVrcyBpcyB0aGUgYmVzdA ==" base64_bytes = base64_string.encode( "ascii" ) sample_string_bytes = base64.b64decode(base64_bytes) sample_string = sample_string_bytes.decode( "ascii" ) print (f "Decoded string: {sample_string}" ) |
Output:
Decoded string: GeeksForGeeks is the best
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course