我有一个嵌入式设备,它以这种格式向我发送 UTC 日期(日期为 4 个字节):
buffer.push_back((BYTE)(time_utc & 0x000000FF));
buffer.push_back((BYTE)((time_utc & 0x0000FF00) >> 8));
buffer.push_back((BYTE)((time_utc & 0x00FF0000) >> 16));
buffer.push_back((BYTE)((time_utc & 0xFF000000) >> 24));
在服务器上,我接收字节并将它们存储在中socket_buf
,从索引 0-3 开始并使用以下逻辑对其进行解码
mypkt.dateTime = ( ( socket_buf[0] << 24) +
(socket_buf[1 ] << 16) + socket_buf[2] << 8) +
(socket_buf[3] << 0));
但我不确定是否正确解码,因为我得到的日期不正确。谁能建议我正确的解码方法?我正在使用 Linux 命令解码日期(16711840 是我通过解码得到的数字):
#date -d @16711840