求助python解析2进制问题!
有个2进制协议:MSG消息 = 包开始符 + 包头 + 包体 + 包结束符
包开始符为0x01;
包头 = 包长度 + 命令字 + 服务器IP
包长度:2个字节,网络字节序
命令字:1个字节
服务器IP:16字节,服务器的IP字符串
包体因包头的命令字不同而格式不同,详见下节;
包结束符为0x02;
包体协议:
1. 命令字为1(数值型特性)
包体 = 特性ID + 特性值 + 特性ID + 特性值 + ……
特性ID:4个字节,网络字节序
特性值:4个字节,网络字节序
2. 命令字为4(字符型特性)
包体 = flag(short)+内容长度(int)+属性id(int)+内容+内容长度(int)+属性id(int)+内容 + ……
单块长度:4个字节,网络字节序
求助如何使用struct来解析,谢谢! struct用法本来就简单,而且文档写得那么清楚,这个二进制协议很直观,有什么难点吗?
页:
[1]