下面就介紹這個模塊中的幾個方法。
struct.pack():我的理解是,python利用 struct模塊將字符(比如說 int,long ,unsized int 等)拆成 字節流(用十六進制表示),便于傳輸。
其函數原型為: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》
用十六進制表示十進制數的時候,一個字節的值域是00~FF。

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

struct.unpack():我的理解是將被拆成的字節流進行一個重新組裝成int類型
>>> x1,y1=struct.unpack('ii',str)>>> print 'x1:' ,x1x1: 10>>> print 'y1:' ,y1y1: 20>>>
新聞熱點
疑難解答