从同一Python字节字符串派生的不同整数

从同一Python字节字符串派生的不同整数,python,binary,python-2.7,hex,bytearray,Python,Binary,Python 2.7,Hex,Bytearray,为什么这些整数不同?哪种方法是正确的,如何将另一种方法更改为正确的?struct使用小尾端符号解释值,而使用unexlify和int(…,16)将其解释为大尾端无符号整数 使用指定输入的尾数,并使用I将其解释为有符号整数: >>> import binascii, struct >>> foo_hex = 'b1e92555' >>> foo_bin = binascii.unhexlify(foo_hex) >>> int

为什么这些整数不同?哪种方法是正确的,如何将另一种方法更改为正确的?

struct
使用小尾端符号解释值,而使用
unexlify
int(…,16)
将其解释为大尾端无符号整数

使用
指定输入的尾数,并使用
I
将其解释为有符号整数:

>>> import binascii, struct
>>> foo_hex = 'b1e92555'
>>> foo_bin = binascii.unhexlify(foo_hex)
>>> int(foo_hex, 16)
2984846677
>>> struct.unpack('i', foo_bin)[0]
1428548017
结构解包('>I',foo_-bin)[0] 2984846677
>>>解包(“
struct
使用小尾数表示法解释值,而使用
unexlify
int(..,16)
将其解释为大尾数无符号整数

使用
指定输入的尾数,并使用
I
将其解释为有符号整数:

>>> import binascii, struct
>>> foo_hex = 'b1e92555'
>>> foo_bin = binascii.unhexlify(foo_hex)
>>> int(foo_hex, 16)
2984846677
>>> struct.unpack('i', foo_bin)[0]
1428548017
结构解包('>I',foo_-bin)[0] 2984846677 >>>解包结构('