When parsing things like binary file format headers, you generally need to know three things for each data field:
- how many, and what kind of, bytes to gobble
(e.g. input stream -->Buf:0x<0b 00>
) - how to unpack those bytes into a number, or other low-level type
(e.g.Buf:0x<0b 00>
-->11
) - how to transform that number into meaningful data