2017-10-06 87 views

回答

1

这个工作struct.unpack('>i', "ffd7c477".decode('hex'))

+0

不错。我发现在Ruby中首先转换类型更容易''“ffd7c477”]。pack('H *')。unpack('l>')'。那么,现在不需要将它移植到Python。 –

0

因为Python会使用你的处理器架构的字节顺序默认来处理数字(你可以用sys.byteorder检查你的系统字节顺序),你必须明确地指定你想把给定的值作为大端。该struct模块将允许你这样做:

import struct, codecs 
val = "ffd7c477" 
struct.unpack("!i", codecs.decode(val, "hex")) 

unpack的第一个参数:!手段对待字节大端,i指为治疗字节Int32值。