详解 QByteArray::fromHex 方法

QByteArray::fromHex 方法会将包含十六进制数的字符串转换成对应的 QByteArray(字节数组)。下面是详解:

代码详解

QByteArray hexCommand = QByteArray::fromHex("10 00 00 08 01 03 01 00 00 00 00 00 00");

作用

QByteArray::fromHex 方法会解析字符串中的十六进制值(不区分大小写),并转换为实际的二进制数据。即每两个十六进制字符(如 “10”)会被解析为一个字节(8位)。

在本例中, "10 00 00 08 01 03 01 00 00 00 00 00 00" 经过 fromHex 方法解析后,将生成一个 QByteArray,其中包含以下字节数据:

十六进制(字符串) 二进制表示 十进制 字节数
10 00010000 16 1
00 00000000 0 1
00 00000000 0 1
08 00001000 8 1
01 00000001 1 1
03 00000011 3 1
01 00000001 1 1
00 00000000 0 1
00 00000000 0 1
00 00000000 0 1
00 00000000 0 1
00 00000000 0 1
00 00000000 0 1

结果

上述代码生成的 QByteArray 中包含了 13 个字节,每个字节对应输入字符串中解析的十六进制值。

空格的作用

fromHex 中,字符串中的空格会被自动忽略,方便开发者更直观地编写和阅读十六进制字符串,不会对生成结果产生任何影响。

猜你喜欢

转载自blog.csdn.net/qq_43689451/article/details/143270458