2015-01-13 36 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