akkuge 发表于 2014-02-15 16:11

求助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来解析,谢谢!

timespace 发表于 2014-02-15 17:54

struct用法本来就简单,而且文档写得那么清楚,这个二进制协议很直观,有什么难点吗?
页: [1]
查看完整版本: 求助python解析2进制问题!