繁体   English   中英

从QString在QByteArray内插入字节-Qt C ++

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM