Now that I've covered the essentials of the binary format, those interested might want to try their hand at translating an encoded message. This message uses many of the constructs you've seen plus a few more I'll outline here.
You should be able to find everything else you might need in past parts of the series:
Now, here's the message to work on.
0x56, 0x02, 0x0B, 0x01, 0x73, 0x06, 0x0B, 0x01, 0x61, 0x04, 0x56, 0x08, 0x44, 0x0A, 0x1E, 0x00, 0x98, 0x01, 0x31, 0x98, 0x01, 0x61, 0x01, 0x01, 0x56, 0x0E, 0x98, 0x07, 0x4D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x01, 0x01
There are 14 records in this message and you'll first probably want to find all of the record boundaries. For each record, you need to determine its type and then based on the record type, the number of trailing bytes that are part of the record.