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;
}