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 に変換されますか?
誰かがこれについていくつかの洞察を提供できれば、私はそれを感謝します.
ありがとう