将整形数据100转为4个字节表示的16进制 ,并存入QByteArray类型的数据中,按字节存入。
首先将整形数据转为8个字符的16进制:
int num=100;
QString hex = QString("%1").arg(num, 8, 16, QLatin1Char('0'));//字符串前面加0,转为8位16进制
之后将字符串中的每两个字符作为一个字节,并存入QByteArray类型的数据中:
QByteArray arr;
arr[0] = hex.mid(0, 2).toInt(nullptr, 16);
arr[1] = hex.mid(2, 2).toInt(nullptr, 16);
arr[2] = hex.mid(4, 2).toInt(nullptr, 16);
arr[3] = hex.mid(6, 2).toInt(nullptr, 16);
可将arr的数据输出检验是否正确:
qDebug()<<"arr.data()=" << arr.toHex();
输出为: