Python原生提供struct模块进行数据包的组装与解析,其中利用pack和unpack模块封装的方法进行数据包拼装的过程。
以前不知道有此包,都是手动实现的网络bytes封包,有struct之后,明显要简洁很多。
struct模块中提供的使用方法是:
支持的格式:
实例
# -*- coding: utf-8 -*-
import struct
a=1
b=-1
print(struct.pack("h",b))
print(struct.pack("i",b))
文件:
# -*- coding: utf-8 -*-
import struct
a=1000
b=-1000
f=open("111.bin","wb")
f.write(struct.pack("h",a))#对a装包,并写入
f.write(struct.pack("i",b))
f.close()
f=open("111.bin",'rb')
a1=f.read(2)
a2=struct.unpack("h",a1)#解包操作
b1=f.read(4)
b2=struct.unpack("i",b1)
print(a2,b2)