Ahh, I see. That's why you were talking about structs and mmap. Thank you for the clarification.
I've written a lot of text parsers for pet programming languages and other things, and several binary parsers for work related stuff. I agree that bad binary formats are really awful. I don't remember the details now, but I gave up on trying to deal with Matlab data files.
WASM made it pretty easy to parse though. Kind of like TIFF or WAV files, the section type and length is right there when you need it even if you're streaming, and it's easy to skip sections you don't know or care about. There's a little bit of error-prone grossness having both unsigned and signed LEB128 inside of some sections though.