let success = SSZipArchive.createZipFileAtPath(zipFullFilename, withContentsOfDirectory:dataDir, keepParentDirectory:true)
这导致-91,而0xA5代表十六进制165。
如何在QBytearray中存储十六进制,解压缩并将其转换为十进制?
答案 0 :(得分:2)
-91
只是char值的表示。
char的范围为--127..127
。您存储的值165
大于127
。
但是,unsigned char
的范围为0..255
。因此,在这种情况下,您可以将您的值读作unsigned char
:
qDebug() << "SOP: " << (unsigned char)p[0];
此外,您可以使用QString
显示相应的十六进制值:
QString hex = QString("%1").arg((unsigned char)p[0] , 0, 16);
qDebug() << "Hex: " << hex;