我正在尝试从一组字节中读取一些值
0D 01 00 02 43 AC 10 20 20 20 20 20 20 20 20 20 34 00 00 00
这个结构是
struct
{
char Action;
char Type;
UINT Serial;
byte Length;
char* message;
}
我怎么读它?
我试着这样读:
int index = 2; // skip the first 2 bytes
byte Type = data[index];
UINT Serial = (UINT)((data[index++] << 24) + (data[index++] << 16)
+ (data[index++] << 8) + data[index++]);
byte Length = data[index++];
std::string Message(reinterpret_cast<char*>(data) + index, Length);
这是正常的,因为我收到了正确的消息," 4 "
但是Serial为0,它不应该为零。
这里有什么不对,正在寻找一种阅读数据的方法。 (数据包)