八位字节序列按2字节偏移转十六进制及Composition Data解析咨询
小端序八位字节序列转换及Composition Data解析方法
小端序存储规则为低字节在前、高字节在后,因此长度为2字节的字段,需要将组内两个字节的顺序颠倒后再拼接为最终十六进制值;单字节字段无需调整顺序。
本次待解析的原始八位字节序列:0C001A0001000800030000010501000000800100001003103F002A00
按字段长度预拆分后的格式化序列:0C00 1A00 0100 0800 0300 0001 05 01 0000 0080 0100 0010 0310 3F002A00
逐段解析过程
- 第一组2字节
0C00:颠倒字节顺序得到000C,对应CID字段,值为0x000C - 第二组2字节
1A00:颠倒字节顺序得到001A,对应PID字段,值为0x001A - 第三组2字节
0100:颠倒字节顺序得到0001,对应VID字段,值为0x0001 - 第四组2字节
0800:颠倒字节顺序得到0008,对应CRPL字段,值为0x0008 - 第五组2字节
0300:颠倒字节顺序得到0003,对应Features字段,值为0x0003,对应支持Relay和Friend特性 - 第六组2字节
0001:颠倒字节顺序得到0100,对应Loc字段,值为0x0100,对应位置描述为“front” - 第七段单字节
05:无需调整顺序,对应NumS字段,值为5 - 第八段单字节
01:无需调整顺序,对应NumV字段,值为1
后续剩余未解析的字节可按照对应协议定义的字段长度,复用上述规则完成转换即可。
内容的提问来源于stack exchange,提问作者Saumya Tyagi
相关产品推荐
相关产品推荐

