This class gets a chunk of binary data (bytes) then the methods are used to read data segments based on the data of data being read from the chunk, the read pointer will advance to the next bytes.
All numeric values must be read in little endian byte order. All numeric data is signed unless the method specifies otherwise - e.g. int_unsigned()
Ruby 1.9.3 unpack directives www.ruby-doc.org/core-1.9.3/String.html#method-i-unpack