Перевести строку с бинарным кодом в изображение

Новичок. Хотел сделать что бы в моей программе был список картинок в бинарном коде, что бы потом их восстанавливать и использовать. Нашел вот такой код:

from base64 import b64encode as enc64
from base64 import b64decode as dec64
from io import BytesIO
from PIL import Image


pict = "achiv\\achiv.jpg"
def binary_pic(pict):
    with open(pict, "rb") as f:
        binary = enc64(f.read())
    print(binary)
    return binary

def export(binary):
    image = BytesIO(dec64(binary))
    pillow = Image.open(image)
    x = pillow.show()


export(binary_pic(pict))

Переводит изображение в бинарный формат и обратно. А можно как то перевести в изображение имея строку где записан бинарный код? К, примеру, после запуска binary_pic(pict) я получаю код картинки. Как можно имея эту строку pict = "бинарный код картинки" перевести ее в картинку. Потому что насколько я понял значение должны быть, bytes , а не str. Если вы знаете как это реализовать на данном примере или есть иной вариант как этого добиться, буду рад если вы поделитесь. Спасибо.


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

Автор решения: Menlis Smith

Для перевода str в bytes следует просто сделать так:

bytes("ваш бинарный код", "ascii")

Если изображение формата png то могут вылетать ошибки связанные с декодированием (дело в том что в png формате могут использоваться символы отсутствующие в таблице ascii). В таком случае стоит писать так

bytes("ваш бинарный код", "raw_unicode_escape")

Надеюсь, что смог вам помочь!

→ Ссылка