我有小问题,我需要向 trought modbus 发送一些字节。 一些人的一个是:0x04和0xFB
QString first, second;
first = "0x04";
second = "0xFB"
QByteArray array;
array[0] = first;
array[1] = second;
ecc...ecc..
何解决? 我试过这个:
array[0] = first.toUInt(nullptr,16);
但是这最后一个转换十六进制的其他值。 如何解决?
您可以将字节直接转换为十六进制代码,并将其附加到最终的字节数组中,如下所示:
QByteArray array;
array.append(QByteArray::fromHex("04"));
array.append(QByteArray::fromHex("FB"));
或者简单地说:
QByteArray array = QByteArray::fromHex("04FB");
您可以使用:
QByteArray array=first.toLatin1() + second.toLatin1();
array.replace("0x","");
array= QByteArray::fromHex(array);