0

我应该编写一个代码,该代码可以反序列化使用串行端口(RS232)以 a 形式从另一个设备接收到的数字,QByteArray而无需使用按位运算符。可以包含任何长度的QByteArray数据,从单个项目到 20 多个项目甚至更多。这可能吗?

到目前为止,我提出的解决方案是:

int numelems = 0;
int exp = 0;
for(int i = tempba.size() - 1 ; i > -1 ; --i) {
    numelems += (unsigned char)tempba.at(i) * pow(256, exp);
    ++exp;
}

其中tempbaQByteArray从串行端口读取的填充数据。这种方法正确吗?哪里可以失败?有更好的方法来实现这一目标吗?

4

0 回答 0