简体   繁体   English

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

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

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