Hacker News new | ask | show | jobs
by mintsuku 660 days ago
This is very interesting and I appreciate your insights. Perhaps for a moment I can share to you the problem I am trying to solve, and do this sort of debugging you mention. I will try my best to make it as language agnostic as possible.

I have an array of bytes (u8’s) (let’s just say integers for now). The first 8 bytes is the signature of that particular sequence of bytes. I compare and check that signature (if it’s not there or doesn’t match the signature I am comparing it too) then we exit the reading operation.

The array of bytes / integers insist to communicate information through 4 byte sequences. So after reading the signature, I would collect the next 4 bytes. I take those bytes and read them, these 4 bytes indicate the length of the upcoming data segment, the next 4 bytes after that contain the data segment type. I read this to determine the type of data segment I am dealing with.

The next read operation is preformed using the length I gathered early. Let’s assume the length said 15, so after reading the data segment type, I read +15 bytes, and store them in some data structure (A Vector). After this, the next 4 bytes mark the end of the data segment. Rinse and Repeat.

1 comments

Parsing something like this?

https://en.wikipedia.org/wiki/Resource_Interchange_File_Form...

Do you want some function that parses it in one shot and returns a list or do you want something that works incrementally (maybe calls some function for each chunk?) Since you're having trouble w/ concept -> code I need to know what language you're using.