Необходимо преобразовать двоичный код в байты Python

Доброе утро! Недавно начал изучать Python, и поступила задача конвертировать символы (буквы и цифры), отрисованные в двоичном коде, в байты, т.е. чтобы буква или цифра выглядела в формате "bx00000000, bx00000000, bx00000000, bx00000000, bx00000000, bx00000000,", ширина и высота букв - 48х72 пикселя, т.е. 6 строчек с отступами. Как можно это реализовать на питоне? Заранее спасибо.

Входящий (то, что получилось после конвертирования bmp-изображения в двоичный код)

000000000000000000000000000000000000000000000000
000000000000000000000000111100000000000000000000
000000000000000000000000111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000011111100000000000000000000
000000000000000000000111111100000000000000000000
000000000000000000001111111100000000000000000000
000000000000000000011111111100000000000000000000
000000000000000001111111111100000000000000000000
000000000000000011111101111100000000000000000000
000000000000011111111001111100000000000000000000
000000000000011111110001111100000000000000000000
000000000000011111100001111100000000000000000000
000000000000011111000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000

Результат, который должен быть.

bx00000000, bx00000000, bx00000000, bx00000000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000000, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000000, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000011, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000111, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00001111, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00011111, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx01111111, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx11111101, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000111, bx11111001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000111, bx11110001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000111, bx11100001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000111, bx11000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000000, bx00000000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000000, bx00000000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000000, bx00000000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000000, bx00000000, bx00000000, bx00000000,

скриншот примера

цифра 1 вход


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

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

Алгоритм:

  • Считываем построчно
  • В каждой строке считываем по 8 символов, к символам добавляем bx
  • Выводим результат разделяя ,
    • Для этого в print распаковываем список блоков через *blocks
    • Параметр sep=', ' определяет как будут разделяться данные (по умолчанию это пробел)
    • Параметр end=',\n' определяет что будет добавлено в конце строки (по умолчанию это символ перевода строки \n)

Пример:

n = 8
for line in text.splitlines():
    blocks = [
        'bx' + line[i:i+n]
        for i in range(0, len(line), n)
    ]
    print(*blocks, sep=', ', end=',\n')

Входные данные:

text = """\
000000000000000000000000000000000000000000000000
000000000000000000000000111100000000000000000000
000000000000000000000000111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000011111100000000000000000000
000000000000000000000111111100000000000000000000
000000000000000000001111111100000000000000000000
000000000000000000011111111100000000000000000000
000000000000000001111111111100000000000000000000
000000000000000011111101111100000000000000000000
000000000000011111111001111100000000000000000000
000000000000011111110001111100000000000000000000
000000000000011111100001111100000000000000000000
000000000000011111000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000
"""

Результат:

bx00000000, bx00000000, bx00000000, bx00000000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000000, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000000, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000011, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000111, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00001111, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00011111, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx01111111, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx11111101, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000111, bx11111001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000111, bx11110001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000111, bx11100001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000111, bx11000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000000, bx00000000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000000, bx00000000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000000, bx00000000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000000, bx00000000, bx00000000, bx00000000,
→ Ссылка
Автор решения: GrAnd

Делается в одну строчку:

text = """000000000000000000000000000000000000000000000000
000000000000000000000000111100000000000000000000
000000000000000000000000111100000000000000000000
000000000000000000000001111100000000000000000000
000000000000000000000011111100000000000000000000
000000000000000000000111111100000000000000000000
000000000000000000001111111100000000000000000000
 поскипано много текста чтобы место не занимать 
000000000000000000000000000000000000000000000000"""

res = "\n".join("bx"+", bx".join(line[i:i+8] for i in range(0, len(line), 8))+"," for line in text.split("\n"))
print(res)

Результат:

D:\Programming\Python\1>python 8.py
bx00000000, bx00000000, bx00000000, bx00000000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000000, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000000, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000001, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000011, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00000111, bx11110000, bx00000000, bx00000000,
bx00000000, bx00000000, bx00001111, bx11110000, bx00000000, bx00000000,
bx поскипа, bxно много, bx текста , bxчтобы ме, bxсто не з, bxанимать ,
bx00000000, bx00000000, bx00000000, bx00000000, bx00000000, bx00000000,
→ Ссылка