Pythonのライブラリ struct は各値をバイト単位でしか保存。この弊害として、構造体中に冗長なメモリ領域が発生してしまう。 Structはファイルに書き込むことを想定して整数バイトにしている。対して、Memberは1ビット単位で自分のサイズを指定できる。
This library implements Kaitai Struct API for Python. Kaitai Struct is a declarative language used for describe various binary data structures, laid out in files or in memory: i.e. binary file formats ...
Convert C struct/union definitions into Python classes with methods for serializing/deserializing. The usage is very simple: create a class subclassing cstruct ...