[英]Insert Byte inside QByteArray from QString - Qt C++
我没什么问题,我需要发送一些字节的Modbus 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=first.toLatin1() + second.toLatin1();
array.replace("0x","");
array= QByteArray::fromHex(array);
您可以将字节直接转换为十六进制代码,并将其附加到最终的字节数组中,如下所示:
QByteArray array;
array.append(QByteArray::fromHex("04"));
array.append(QByteArray::fromHex("FB"));
或者简单地:
QByteArray array = QByteArray::fromHex("04FB");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.