以1580 0001
为例
QByteArray b("15800001");
qint32 a = parseValueInt32(b, 0, 8);
qDebug() << "\tseqNum:" << a;
32位大端解析:
qint32 single_test::parseValueInt32(QByteArray data, int valuePos, int valueSize)
{
bool ok;
QByteArray parseData;
parseData = data.mid(valuePos, valueSize);
QString strParseData = parseData;
qint32 tempInt32 = strParseData.toInt(&ok, 16);
// 0x15 80 00 01(原始数据反过来)
qDebug() << tempInt32; // 16810005 (十进制) --> 0x01 00 80 15(十六进制)
qint32 parseValueOut = qToBigEndian(tempInt32); // Convert to Big-Endian
return parseValueOut;
}