private UInt32 ParseUInt32(byte[] data, ref int index, bool isBigEndian) { // Read 4 bytes byte[] bytes = GetBytes(data, ref index, sizeof(UInt32)); // Big Endian format requires reversed byte order if (isBigEndian) { Array.Reverse(bytes, 0, sizeof(UInt32)); } // Convert return BitConverter.ToUInt32(bytes, 0); }