Преобразование изображения в строку 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.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.