这个字符串分开 每两个一组 转化为16进制的数字
时间: 2023-08-11 09:23:39 浏览: 67
在 Qt 中,可以使用 `QString` 的 `mid()` 函数和 `QByteArray` 的 `fromHex()` 函数,将字符串每两个一组分开并转换为对应的十六进制数字。示例代码如下:
```cpp
QString str = "48656c6c6f20576f726c64"; // 十六进制字符串
QString hexStr;
for (int i = 0; i < str.length(); i += 2) {
hexStr += str.mid(i, 2); // 每两个一组取出
hexStr += " "; // 添加空格分隔
}
QByteArray byteArray = QByteArray::fromHex(hexStr.toUtf8());
```
这里首先将原始的十六进制字符串按照每两个一组的方式拆分并添加空格分隔,得到新的字符串 `hexStr`。然后将 `hexStr` 转换为字节数组并存储在 `byteArray` 中。
如果需要将字节数组转换回字符串,可以使用 `QByteArray` 类的 `toHex()` 函数和 `QString` 的 `mid()` 函数。示例代码如下:
```cpp
QByteArray byteArray = QByteArray::fromHex("48 65 6c 6c 6f 20 57 6f 72 6c 64");
QString hexStr = byteArray.toHex();
QString str;
for (int i = 0; i < hexStr.length(); i += 2) {
str += hexStr.mid(i, 2);
}
```
这里将字节数组转换为字符串,并按照每两个一组的方式添加空格分隔,得到新的字符串 `hexStr`。然后将 `hexStr` 中的空格去掉,并将其转换为原始的十六进制字符串 `str`。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![iso](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)