python模块pack

使用pack的时候主要用来数据封包

使用pack的时候主要用来数据封包,struct模块中的三个常用函数的功能如下:


//  按照给定的格式(fmt),把数据封装成字符串(实际上是类似于c结构体的字节流)
pack(fmt, v1, v2, ...) 

// 按照给定的格式(fmt)解析字节流string,返回解析出来的tuple
unpack(fmt, string)       
// 计算给定的格式(fmt)占用多少字节的内存
calcsize(fmt)

###几个简单的例子

example1:数据的打包

from struct import pack, unpack
a = 13.24

pack1 = pack('i', a)
b, = unpack('i', pack1)
print b


>>13
>>[Finished in 0.0s]

其中i对应着4字节整形,解开包的时候格式要相同

from struct import pack, unpack
a = 'hello'
b = 'world!'
c = 2
d = 45.123

pack2 = pack('5s6sif', a, b, c, d)
print pack2
a1, b1, c2, d2 = unpack('5s6sif', pack2)
print a1, b1, c2, d2


>>helloworld!?}4B
>>hello world! 2 45.1230010986

其中s代表1字节字符,5s就表示了5个字符,i是4字节整形,f表示float类型,在最后将列出所有的格式。

cFORMAT C TYPE PYTHON TYPE STANDARD SIZE
c char string of length 1 1
b signed char integer 1
B unsigned char integer 1
s char[] string
f float float 4
i int integer 4
I unsigned int integer 4
本文总阅读量