[英]Insert Byte inside QByteArray from QString - Qt C++
I've little problem, I need to send trought modbus some bytes. 我没什么问题,我需要发送一些字节的Modbus Modbus。 One from some, is: 0x04, and 0xFB
其中一个是:0x04和0xFB
QString first, second;
first = "0x04";
second = "0xFB"
QByteArray array;
array[0] = first;
array[1] = second;
ecc...ecc..
Ho to solve ? 何解决? I've tryed this:
我已经尝试过了:
array[0] = first.toUInt(nullptr,16);
but this last convert hex in other value. 但这最后将十六进制转换为其他值。 How to solve ?
怎么解决 ?
you can use: 您可以使用:
QByteArray array=first.toLatin1() + second.toLatin1();
array.replace("0x","");
array= QByteArray::fromHex(array);
You can do convert the bytes directly to hex code and append it to the final bytearray like this: 您可以将字节直接转换为十六进制代码,并将其附加到最终的字节数组中,如下所示:
QByteArray array;
array.append(QByteArray::fromHex("04"));
array.append(QByteArray::fromHex("FB"));
Or simply: 或者简单地:
QByteArray array = QByteArray::fromHex("04FB");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.