QT中的QByTearray转换
QByteArray conversion in Qt
QByteArray x;
x[0] = 0xAA;
qDebug() << QString::number(x[0] , 16);
我在调试屏幕上看到了ffffffffffffffaa
。我认为QBteArray
是签名的。那么,如何将此数据正确存储在QByteArray
中,或者如何将数据转换为无符号变量?
数据存储得正确,您可以直接打印数组x
的内容而无需使用QString::number
(即qDebug() << x;
)检查,这应该输出:"xAA"
。
您意外输出的原因是QString::number
有7个过载,所有这些都在第一个参数的类型上不同。支持类型是long
,uint
,int
,uint
,qlonglong
,qulonglong
和double
。通过调用return number(qlonglong(n), base);
或return number(qulonglong(n), base);
。
这就是为什么您传递给QString::number
的char
被视为 qlonglong
(即x[0] = 0xAA
,这意味着x[0] = -86
,然后将此值转换为qlonglong
,因此QString::number
因此返回ffffffffffffffaa
)。
相关文章:
- 如何将QByteArray转换为std::istream或std::ifstream?
- 将 QByteArray 转换为无符号短:不符合预期
- 如何将小端格式的QByteArray转换为无符号长整型
- 有没有办法"QByteArray"变量数据直接放入变量"int"而无需强制转换?
- 如何在不将其转换为 ASCII 字符的情况下显示 QByteArray 的十六进制值
- 将 QByteArray 从大端序转换为小端序
- 将 CRC uint 转换为 QByteArray QT - C++
- QByteArray 和 QString 转换的问题
- QByteArray 转换为十六进制失败
- 如何将QByteArray转换为QString?
- QT中的QByTearray转换
- QByTearray进行INT转换
- qbyTearray转换为char(不是char*或constchar*)
- 将 QByteArray 转换为“long”会为相同的输入输出不同的结果
- 将int转换为Qt中的QByteArray
- Qt:将QPixmap保存到std::vector<无符号字符>-或者将QByteArray转换为std::
- 将十六进制存储在 QBytearray 中,提取它并将其转换为十进制
- 如何将 QImage 转换为 QByteArray
- 问如何将QByteArray转换为struct
- 如何将 QByteArray 转换为带有分隔符"-"的 QString?