in reply to Reading hex data

There is a start token in the sample data, but there are 8 hexadigits in front of it. Therefore IMO the OP has made a typo and means to suggest that

- the start token is x00020000

- his data is 32 bit (a.k.a 8 decoded nybbles)

The second trap to avoid is matching across 8 byte boundaries, which, as can be seen in the code of one of the replies, but was expressed as a preference rather than a necessity, can be done using unpack.

One world, one people