2015-01-13 34 views
0

我有一個原始套接字的四個字節:value = 0xc0ff00c0。使用結構與L的格式(或我爲此事)解壓Python結構看起來不準確

struct.unpack("=L",value)  

我得到3221290944.使用

int(hexlify(value),16) 

我得到3237937344.後者是正確的。我沒有注意到這與其他格式說明符,所以我認爲它必須與像龍一樣的較大的整體結構有關。有沒有其他人注意到這一點?由於

+0

是擠滿了蟒蛇的價值? – dmg

+0

也使用'struct.unpack(「!L,value)'或'struct.unpack(」> L「,value)''。產生正確的結果。 '!'表示網絡格式。所以我猜這就是你需要的。 – dmg

回答

2

你應該解壓:

struct.unpack("!L",value) 

由於數據通過網絡發送,你應該使用解包訂購網 - !

Source