2014年03月13日 星期四 09:51
在很多应用层的网络传输协议中,为了提高效率,会把很多个数据元素以二进制的方式拼凑在一起,比如socks的协议:
Client to SOCKS server:
Server to SOCKS client:
要解析这样的数据,我们可以使用Python的Slice方法,例如:
data[x:y]表示端口号,data[m:n]表示IP地址,等等。
为了使程序更加清晰易懂,我们可以将上述Slice定义为Naming Slice,使之意义更加明确(而不是一堆Magic Number),这样可以大大方便程序的阅读者理解数据段的含义。
Naming Slice的使用方法示例如下:
items=[0,1,2,3,4,5,6,7,8,9] x=slice(2,4) print(items[x]) items[x]=[1,2,3] print(items) del items[x] print(items) print(items[x])
参考资料:
Zeuux © 2024
京ICP备05028076号