Довольно часто требуется работать с изображениями в формате, который позволяет представлять их в виде текстовых строк. Одним из популярных методов для этого является кодирование изображения в строку base64 . Давайте рассмотрим примеры кода на Python , демонстрирующие этот процесс.

Преобразование изображения в строку base64 и обратное декодирование в Python

Довольно часто требуется работать с изображениями в формате, который позволяет представлять их в виде текстовых строк. Одним из популярных методов для этого является кодирование изображения в строку base64. Давайте рассмотрим примеры кода на Python, демонстрирующие этот процесс.


import base64

# Преобразование изображения в строку base64
with open("image.jpeg", "rb") as image2string:
    # Чтение и кодирование изображения
    conv_str = base64.b64encode(image2string.read())
print(conv_str)  # Вывод закодированной строки

# Запись строки base64 в бинарный файл
with open('img.bin', "wb") as file_bin:
    file_bin.write(conv_str)

В этом фрагменте кода мы сначала открываем файл с изображением image.jpeg в двоичном режиме чтения. Содержимое изображения считывается и преобразуется в строку base64 с помощью метода b64encode из библиотеки base64. Результат выводится в консоль, а затем записывается в файл img.bin.


import base64

# Декодирование строки base64 обратно в изображение
image_str = open('img.bin', 'rb')
byte_file = image_str.read()
image_str.close()

decoded_img = open('decoded_image.jpeg', 'wb')
decoded_img.write(base64.b64decode(byte_file))
decoded_img.close()

Этот участок кода открывает файл img.bin, содержащий закодированное изображение. Он считывает содержимое файла и использует метод b64decode для декодирования строки base64 обратно в бинарные данные. Затем полученные данные записываются в файл decoded_image.jpeg, восстанавливая изображение из его закодированного представления.

Таким образом, преобразование изображений в строку base64 и обратное декодирование, посредством языка Python, обеспечивают удобный способ обработки изображений в виде текстовых данных, что может быть полезно при передаче, хранении и обработке изображений в программных приложениях. А больше подобных примеров, можно найти в моем курсе под названием Написание лайфхаков на Python.