我对QByteArray数据感到困惑。有人可以为我解释以下情况吗?
每个数组索引的数据类型为char。我了解其中一些值(value)观。像74 'J'
我知道第一个是ASCII,第二个是对应的字符。但是-1 '\\377'
是什么意思
另外,下面的gui意味着什么?我将上面的QByteArray发送给了一个将QByteArray作为unsigned char* source
的函数。下面的gui显示了source
的值。
主要令人困惑的部分是第一行的值0x87089e8 "\377\330\377\340"
最佳答案
C / C++中的char
是一个带符号的1字节整数。该GUI只是将该值表示为带符号的十进制数字,以及等效的ASCII字符。
您正在询问字节值-1,该值可以通过以下方式解释:
Binary 11111111
Octal 0377
Hex 0xFF
Decimal -1 (Signed)
255 (Unsigned)
ASCII \377
\xFF
请注意,没有255的标准可打印ASCII字符,这就是为什么他们像他们一样显示它。
另一个例子:
Binary 01001010
Octal 0112
Hex 0x4A
Decimal 74 (Signed)
74 (Unsigned)
ASCII 'J'
关于c++ - QByteArray数据格式说明,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14313942/