4 ms·
The Construct library for Python can do it: https://construct.readthedocs.io/en/latest/intro.html#example https://construct.readthedocs.io/en/latest/intro.html
by comex 6y ago
The Construct library for Python can do it:
https://construct.readthedocs.io/en/latest/intro.html#example https://construct.readthedocs.io/en/latest/intro.html#exampl...
I’ve long searched for something better than Construct, but so far I have yet to find even an equal.
- wpietri 6y agoOoh, exciting! I built a parser [1] for AIS messages [2], a quirky ship-to-ship protocol. My lower-level stuff always felt clumsy to me. I'll have to see if this cleans it up. [1] https://github.com/wpietri/simpleais https://github.com/wpietri/simpleais [2] https://gpsd.gitlab.io/gpsd/AIVDM.html https://gpsd.gitlab.io/gpsd/AIVDM.html
- attheicearcade 6y agoIt can, but it can get incredibly slow for large formats. I was using it to reverse engineer some binary game formats but the parser would take a couple of minutes to complete. I rewrote it using struct and that time dropped to a few seconds. Useful for probing an unknown format, but I prefer the 010 editor since it’s more interactive.