几个unsigned char 字符 以两位16进制显示,并且串起来成为一个QString
时间: 2024-09-24 21:12:17 浏览: 52
unsigned char数组转成string 用16进制表示
如果你想要将几个`unsigned char`字符转换为16进制格式,每两个字符作为一个十六进制数,并组合成一个`QString`,可以这样做:
假设你有一个`unsigned char`数组,例如:
```cpp
unsigned char bytes[] = {0x48, 0x65, 0x6c, 0x6c, 0x6f};
```
你可以遍历这个数组,然后将每个字节转换成两个十六进制字符:
```cpp
QString hexadecimalString;
for (size_t i = 0; i < sizeof(bytes); i++) {
QByteArray byteBa(bytes[i]);
QByteArray twoChars = byteBa.toHex();
if (i % 2 == 0) { // 每两个字节组合在一起
hexadecimalString += QLatin1Char('0'); // 前面补零,确保两位
hexadecimalString += QLatin1Char(twoChars.at(0));
}
hexadecimalString += QLatin1Char(':');
}
// 移除最后一个冒号
hexadecimalString.truncate(hexadecimalString.length() - 1);
```
这将得到一个类似于"0x48:0x65:0x6c:0x6c:0x6f"的`QString`。
阅读全文