Understanding Byte Orders - MajickTek/XFF-SPEC GitHub Wiki

The following will be true Java code to read an Unsigned 24-bit Integer.

bigEndian boolean = true;

int readU24( InputStream input ) throws IOException
{
  int value = 0;
 
  if( bigEndian )
  {
      value |= input.read() << 16; // red
      value |= input.read() << 8;  // green
      value |= input.read() << 0;  // blue
  }
  else // little endian
  {
      value |= input.read() << 0;  // blue
      value |= input.read() << 8;  // green
      value |= input.read() << 16; // red
  }

  return value;
}