Как записать изображение в текст?

Возможно глупый вопрос, но как записать изображение в текстовый файл? Для некоторого проекта понадобилось хранить изображение в тексте, но чтобы питон мог с ним работать и переводить обратно в .png. Возможно ли это?


Ответы (1 шт):

Автор решения: gil9red

Закодируйте изображение в base64 и сохраните в файл.

Для этого используйте модуль base64:

  • base64.b64encode -- для кодирования байтов в base64 (результат в байтах)
  • base64.b64decode -- для раскодирования байтов из base64 (результат в байтах)

Пример:

import base64

file_name_img = 'img.jpg'
file_name_txt = 'img.txt'

with open(file_name_img, 'rb') as f:
    data = f.read()

with open(file_name_txt, 'wb') as f:
    f.write(base64.b64encode(data))

# Раскодирование из base64
with open(file_name_txt, 'rb') as f:
    img_data = base64.b64decode(f.read())
    print(img_data[:100])  # Первые 100 байт
→ Ссылка