Я хочу реализовать 2-битный класс карты в Python. Класс должен иметь следующие требования:Как реализовать битовую карту?
Разрешить создание произвольных размеров 2d растровых изображений. т.е. создать-х 8 битовые карту (8 байт), что-то вроде:
bitmap = Bitmap(8,8)
предоставляет API для доступа бит в этом 2d карте в виде логических или даже целых значений, то есть:
if bitmap[1, 2] or bitmap.get(0, 1)
Возможность получения данных в виде упакованных двоичных данных. По существу, каждая строка битовой карты объединяется и возвращается как двоичные данные. Он может быть дополнен до ближайшего байта или чего-то подобного.
bitmap.data()
Уметь создавать новые карты из двоичных данных, извлекаемых:
new_bitmap = Bitmap(8, 8, bitmap.data())
Я знаю, Python способен выполнять бинарные операции, но я хотел бы некоторые предложения относительно того, как лучше использовать их для реализации этого класса.