У меня есть QByteArray
, как это:
QByteArray idx0;
// idx0 is then assigned 4 bytes,
// idx0 content is shown on debugger as:
// idx0 "\000\000\001\000" QByteArray
// '\0' 0 0x00 char
// '\0' 0 0x00 char
// 1 0x01 char
// '\0' 0 0x00 char
Я конвертирую QbyteArray
в unsigned short
следующим образом:
unsigned short ushortIdx0;
if ( idx0.size() >= sizeof(ushortIdx0) ) {
ushortIdx0 = *reinterpret_cast<const unsigned short *>( idx0.data() );
}
Отладчик показывает значение ushortIdx0
как 0
:
// Debugger shows:
//
// ushortIdx0 0 unsigned short
Однако , когда я конвертирую значение Little Endian 0x 00 00 01 00
в UINT32 - Little Endian
на на этом сайте , я получаю:
UINT32 - Little Endian (DCBA):
Raw UINT32
00 01 00 00 65536
Почему результат этого сайта отличается от того, что я получаю по своему коду? Я не понимаю Я ценю любую помощь.