Convert To (48 bits, Little Endian)



我通过UDP与卡通信,发送消息并接收我想要的数据的响应!我在这两个参数的转换中有一个小问题:参数论证

当我发送命令0x22读取固件版本时,我得到这个响应(索引3,4,5),但它们不是yymmdd格式,因为我得到了38和33的结果……0将响应

当我发送0x21命令读取UI版本时我得到这个结果,我怎么把它转换成48位的小端序

0 x21响应

最简单的方法是:

long serialNumber = byte1 + (256L * byte2) + (256L*256L * byte3) + ... + (256L*256L*256L*256L*256L * byte6)

请注意,当然可以通过位移位来实现:

long serialNumber = ((long)byte1) | ((long)byte2 << 8) | ((long)byte3 << 16) | ... | ((long)byte6 << 40)

两者都基于小端数字在内存中的表示方式。

最新更新