🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
python中的struct方法,常常用进行网络数据传输的过程中,制作固定长度的报头,他可以将任意数字转换为固定长度的二进制串`bytes` ### struct.pack(): `struct`的`pack`函数把任意数据类型变成`bytes`: 其函数原型为:struct.pack(fmt, v1, v2, ...),参数fmt是格式字符串,v1, v2, ...表示要转换的python值。可以同时处理多个待转换值: ``` >>> s='my name is luo gang' >>> l=len(s) >>> pg=struct.pack('i',l) #转换成字节流,以便在网络上传输 >>> print(len(pg)) #i表示int类型,正好4个字节长度 4 >>> print(pg) #二进制串 b'\x13\x00\x00\x00' ``` 参数常用的是`i`和`l`,分别可以表示不同极限的数字,一般用`i`足以  ### struct.unpack(): unpack用于将字节流反解回原始数据,反解回来的数据是一个元组, ``` >>> l1=struct.unpack('i',pg) >>> print(l1) (19,) >>> print(l1[0]) 19 ````