1

QByteArray の int 要素 (char である必要がありますか?) を符号なし整数に変換することについて、2 つの部分からなる質問があります。

これが私のコードです:

QByteArray data_read_buffer;

unsigned int data_recieved_size = 0;

/* the code below is an external function that populates the QbyteArray. shouldn't be important putting only to show that I assign a value to the byteArray./*

readFromComPortSafe(data_read_buffer); 

data_recieved_size  = static_cast<unsigned int>((data_read_buffer.at(2)));

Ok。したがって、data_recieved_size に返された結果は「たまに」間違っています。デバッガーに入り、data_read_buffer の値を調べると、次のようになります。

\000\003\203\00\205.... (ウムラウト付きの文字を除く)

data_recieved_size の値を調べると、4294967171 が得られます

だから私の最初の質問はこれです

char から unsigned int への変換に何か問題がありますか?

私の2番目の質問はこれです:

\203 は qByteArray で何を表しているのですか?私は何を見ているのか理解できないと思います。char型がUnicode文字であることは私の理解です???? QByteArray の 2 番目の要素が 0x83 または 131 であると予想していました。これはどのように \203 に変換されますか?

誰かがこれについていくつかの洞察を提供できれば、私はそれを感謝します.

ありがとう

4

2 に答える 2