首页| 论坛| 消息

标题:unsigned char[]转QString
作者:dafei2015
日期:2018-09-21 13:40
内容:

unsignedchar CH[4]={0x02,0x0A,0XA2,0x60};
转成Qstring,试了网上的好多办法,都不正确。。哪位大侠亲自转下,谢谢!


#1 [大漠之鹰 09-21 14:13]
为什么要转成QString啊?转了也是乱码啊。用bytearray吧
#2 回 大漠之鹰 的帖子 [dafei2015 09-21 14:24]
大漠之鹰:为什么要转成QString啊?转了也是乱码啊。用bytearray吧(2018-09-21 14:13)
QByteArray byte=QByteArray((char*)CH, 4);
qDebug()
#3 [zzs0829 09-23 19:07]
二进制转字符串,最起码要知道编码格式才能转成字符串。
如果不是字符串,就像楼上说的QByteArray就可以存储了。
如果你是想显示二进制的数据的打印结果可以这样:
unsignedchar CH[4]={0x02,0x0A,0XA2,0x60};
QByteArray arr = QByteArray::fromRawData((char *)CH, 4);
qDebug()
#4 [yysr 09-27 20:17]
要先把无符号字符转成有符合字符:

unsignedchar CH[4]={0x02,0x0A,0XA2,0x60};
QString CH1;
CH1.Resize(4);//意思如此
for (int i =0; i < 4; i++)
if ((CH[ i ]&0x80) == 0x80)
CH1[ i ] = - (CH[ i ] & 0x7f);
else
CH1[ i ] = CH[ i ];

回复 发表
主题 版块