好的,我有一个关于将元素 int QByteArray(应该是 char 对吗?)转换为无符号整数的两部分问题。
这是我的代码:
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)));
好的。所以我在 data_recieved_size 中得到的结果是错误的“每隔一段时间”我进入调试器,当我检查 data_read_buffer 的值时,我得到了这个:
\000\003\203\00\205....(等等我们有一些带有变音符号的字符)
当我检查 data_recieved_size 的值时,我得到 4294967171
所以我的第一个问题是
从 char 到 unsigned int 的转换我做错了吗?
我的第二个问题是这样的:
\203 在 qByteArray 中代表什么?我想我不明白我在看什么。我的理解是char类型是unicode字符????我期待 QByteArray 中的第二个元素是 0x83 或 131。这如何转换为 \203?
如果有人可以对此提供一些见解,我将不胜感激。
谢谢