![](/img/trans.png)
[英]Qt: save QPixmap to std::vector<unsigned char> - or convert QByteArray to std::vector<unsigned char>
[英]Qt QByteArray unsigned datatype
我需要通过rs232发送数据,但是我遇到了问题。
当我发送表示大于128的整数的字节时,看起来QByteArray更改了我提供的内容:
uchar uc_array[]={0x41,0xAA}; //65 170
QByteArray qb_array = QByteArray();
qb_array.append(uc_array[0]);
qb_array.append(uc_array[1]);
cout<<(uint)qb_array[0]<<endl //65
cout<<(uint)qb_array[1]<<endl //4294967210
为什么
cout<<(uint)qb_array[1]<<endl
不打印170,而是打印4294967210?
这是我对为什么打印4294967210而不是170的解释,这是您的原始问题:
qb_array[1]
返回值为0xAA的带signed char
类型 signed char
为uint
输入:
int
类型,并保留符号:它变为0xFFFFFFAA
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.