1

QByteArray データについて混乱しています。誰かが私のために以下のシナリオを説明してもらえますか. ここに画像の説明を入力

ここで、各配列インデックスのデータ型は char です。私はそれらの価値のいくつかを理解しています。私が理解しているよう74 'J' に、最初のものはASCIIで、2番目のものは対応する文字です。しかし、の意味は何ですか-1 '\\377'

また、以下のGUIはどういう意味ですか?? 上記のQByteArrayを、QByteArrayを受け取る関数に送信しましたunsigned char* source。以下の gui は、その値を示していますsourceここに画像の説明を入力

主な紛らわしい部分は、最初の行の値です0x87089e8 "\377\330\377\340"

4

2 に答える 2

2

の意味についてお答えし0x87089e8 "\377\330\377\340"ます。

0x87089e8sourceポインタの値です。つまり、メモリ内のアドレスです。"\377\330\377\340"そのアドレスに格納されている文字列で、8進数のエスケープシーケンスとして書き込まれます。これらの文字はいずれもASCIIではないため、このように記述されています(ASCIIは0から127までしかありません)。16進数では、バイトの文字列はですff d8 ff e0 00。最後の00atは、文字列の終わりのマーク(ASCII NULL)として解釈されます。

于 2013-01-14T12:35:19.950 に答える
2

charC/C++ では、符号付きの1 バイト整数です。この GUI は、単にその値を符号付き 10 進数と同等の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'
于 2013-01-14T06:19:45.117 に答える