Qt long转为qbytearray
时间: 2023-07-10 10:10:33 浏览: 213
可以使用QByteArray的setNum()函数将long类型数据转换为字符串,再使用QByteArray的fromHex()或fromBase64()函数将字符串转换为QByteArray,示例代码如下:
```cpp
long num = 123456;
QString str = QString::number(num);
QByteArray ba = QByteArray::fromHex(str.toUtf8());
```
这里将long类型数据123456转换为字符串"1e240",再将字符串转换为QByteArray。需要注意的是,将long类型数据转换为字符串时,可以使用QString的number()函数或者QByteArray的setNum()函数,两者的用法类似,具体可以根据实际情况选择。另外,如果字符串是通过QByteArray的toHex()或toBase64()函数得到的,可以使用QByteArray的fromHex()或fromBase64()函数将其转换为QByteArray。
如果要将QByteArray转换为long类型数据,可以使用QByteArray的toLong()函数,示例代码如下:
```cpp
QByteArray ba = QByteArray::fromHex("1e240");
long num = ba.toLong(nullptr, 16);
```
这里将字符串"1e240"转换为long类型数据123456。toLong()函数的第一个参数为bool类型,表示是否成功转换,可以传递一个指针来获取结果;第二个参数为int类型,表示进制,默认为10进制,这里需要指定为16进制。
阅读全文