将QString str="55AA1D104A8000000000000000000000000000000000D1E2B5420000D90C100399";转为16进制点的QByteArray
时间: 2023-07-19 17:46:38 浏览: 61
可以使用QByteArray::fromHex()函数将QString转换为16进制的QByteArray,示例如下:
```c++
QString str = "55AA1D104A8000000000000000000000000000000000D1E2B5420000D90C100399";
QByteArray byteArray = QByteArray::fromHex(str.toUtf8());
```
toUtf8()函数将QString转换为QByteArray,fromHex()函数将QByteArray中的16进制字符转换为实际的字节,返回一个新的QByteArray。
相关问题
16进制qbytearray转换中文QString
要将16进制的QByteArray转换为中文的QString,您可以使用QByteArray的toHex()函数和QString的fromLocal8Bit()函数。以下是一个示例代码:
```cpp
#include <QString>
#include <QByteArray>
// 假设您已经通过某种方式获取到了一个16进制的QByteArray对象
QByteArray hexData;
// ...
// 将16进制的QByteArray转换为中文的QString
QString chineseString = QString::fromLocal8Bit(QByteArray::fromHex(hexData));
```
在上述代码中,我们先使用QByteArray的fromHex()函数将16进制的QByteArray对象hexData转换为对应的字节流。然后,通过QString的fromLocal8Bit()函数,将字节流转换为中文的QString对象chineseString。
请注意,这里假设16进制的QByteArray对象hexData是以本地编码方式(Local 8-bit)表示的中文字符。如果使用其他编码方式,可能需要相应地调整转换函数。
将十六进制的QBytearray转换为QString
可以使用QString的fromUtf8()函数将十六进制的QByteArray转换为QString。具体的实现可以参考下面的代码:
```cpp
QByteArray hexData = QByteArray::fromHex("48656c6c6f20576f726c64"); // 十六进制的QByteArray
QString str = QString::fromUtf8(hexData); // 转换为QString
```
这样就可以将十六进制的QByteArray转换为对应的字符串了。