2017-10-06 27 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值。