• 4446阅读
  • 2回复

[提问]关于BCC异或校验和ASCII码的问题 [复制链接]

上一主题 下一主题
离线cork
 

只看楼主 倒序阅读 楼主  发表于: 2016-05-11
我是QT初学者,我想在串口通讯软件中加入BCC异或校验。
例如我输入字符,会根据对应的ASCII码进行异或。例如输入123,会转换成30H^31H^32H或者48^49^50进行异或。
  1. QByteArray BCCbuf;
  2.     int BCCresult;
  3.     BCCbuf = ui->sendMsgLineEdit->text().toLatin1();
  4.     for(int i = 0; i < BCCbuf.count(); i++)
  5.        {
  6.            qDebug() << BCCbuf[i];
  7.            BCCresult ^= BCCbuf[i];
  8.        }
  9. qDebug() << BCCresult;





这是我写的代码,发现toLatin1()得到的不是我想要的,而且不能与int数据类型进行异或。
如果int BCCresult; 改成 QByteArray BCCresult; 又怎么进行异或。
求高手指点一二。
如果有现成的BCC校验的代码最好了。




PS:不要骂我伸手党,我真的是小白。网上找了好久,找不到解决方法。



离线cork

只看该作者 1楼 发表于: 2016-05-13
我自己解决了
离线icxinshou

只看该作者 2楼 发表于: 2018-06-10
代码能分享一下吗?我也遇到了这个问题
快速回复
限100 字节
 
上一个 下一个