我对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/

10-12 03:56