python 中 struct 用法

 

下面就介紹這個模塊中的幾個方法。python

struct.pack():個人理解是,python利用 struct模塊將字符(好比說 int,long ,unsized int 等)拆成 字節流(用十六進制表示),便於傳輸。c++

其函數原型爲:struct.pack(fmt, v1, v2, ...),fmt表示的是類型,後面的V1 V2..參數有多少,那麼對應的類型數量就有多少。函數

>>> import struct
>>> x=10
>>> y=20
>>> str=struct.pack('ii',x,y)
>>> print str
>>>
>>> print repr(str)
'\n\x00\x00\x00\x14\x00\x00\x00'  #小端法

須要說明的是:小端法表示:最高有效字節在最前面,參見 《深刻理解計算機系統P26》spa

                  用十六進制表示十進制數的時候,一個字節的值域是00~FF。code

 

爲了同c中的結構體交換數據,還要考慮有的c或c++編譯器使用了字節對齊,一般是以4個字節爲單位的32位系統,故而struct根據本地機器字節順序轉換.能夠用格式中的第一個字符來改變對齊方式.定義以下:blog

 

struct.unpack():個人理解是將被拆成的字節流進行一個從新組裝成int類型原型

>>> x1,y1=struct.unpack('ii',str)
>>> print 'x1:' ,x1
x1: 10
>>> print 'y1:' ,y1
y1: 20
>>>
相關文章
相關標籤/搜索