Qt - C++ - int整数转换为4个字节序列QByteArray

方式一

使用QByteArray的静态方法fromRawData()来将一个整数转换为字节序列。以下是一个示例代码:

    int num = 65535;
    QByteArray bytes = QByteArray::fromRawData(reinterpret_cast(&num), sizeof(num));
    qInfo()<(&num),sizeof(num)).toHex();
    // qInfo()<

这个代码将整数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()<

这个代码将整数65535转换为小端序的字节数组。请注意,这里使用了setByteOrder()函数设置字节序,然后使用QDataStream的左移运算符“<<”将整数写入字节数组中。

示例 - 全部输出:

Qt - C++ - int整数转换为4个字节序列QByteArray_第1张图片

你可能感兴趣的:(Qt,-,C++,qt,开发语言)