方式一
使用QByteArray的静态方法fromRawData()来将一个整数转换为字节序列。以下是一个示例代码:
int num = 65535;
QByteArray bytes = QByteArray::fromRawData(reinterpret_cast<const char*>(&num), sizeof(num));
qInfo()<<bytes<<endl;
// 控制台输出结果:"\xFF\xFF\x00\x00"
// 使用QByteArray的静态方法fromRawData()来将一个整数转换为16进制的字节序列
// int num = 65535;
// QByteArray hexBytes = QByteArray::fromRawData(reinterpret_cast<const char*>(&num),sizeof(num)).toHex();
// qInfo()<<bytes<<endl;
// 控制台输出结果:"ffff0000"
这个代码将整数65535转换为字节数组。请注意,这里使用了reinterpret_cast将整数指针转换为字符指针。
方式二
如果你需要将整数转换为特定字节序列(如大端序或小端序),可以使用QDataStream类。以下是一个示例代码:
int num = 65535;
QByteArray bytes;
QDataStream stream(&bytes, QIODevice::WriteOnly);
stream.setByteOrder(QDataStream::BigEndian); //设置字节序 - 大端
// stream.setByteOrder(QDataStream::LittleEndian); //设置字节序 - 小端
stream << num; // 数字流向stream流
qInfo()<<bytes<<endl;
// 控制台输出结果:"\xFF\xFF\x00\x00"
这个代码将整数65535转换为小端序的字节数组。请注意,这里使用了setByteOrder()函数设置字节序,然后使用QDataStream的左移运算符“<<”将整数写入字节数组中。