将QByteArray中的2个字节转换成1个数
时间: 2023-08-05 16:09:00 浏览: 134
Qt中QString、QByteArray、int、double之间转换 - 苦涩的茶 - 博客园1
可以使用QByteArray的mid函数获取需要转换的2个字节,然后使用QDataStream的readRawData函数将字节数组中的数据读入到一个无符号16位整数中,如下所示:
```cpp
QByteArray byteArray; // 待转换的字节数组
int index = 0; // 待转换的字节数组的起始下标
quint16 number = 0; // 转换后的无符号16位整数
QDataStream stream(&byteArray, QIODevice::ReadOnly);
stream.setByteOrder(QDataStream::BigEndian); // 指定字节序
stream.device()->seek(index); // 设置读取起始位置
stream.readRawData(reinterpret_cast<char*>(&number), sizeof(number)); // 读取字节数组中的数据
```
转换后的无符号16位整数存储在number变量中。如果字节数组中还有其它需要转换的数据,可以根据需要修改起始下标index的值。
阅读全文