不太复杂,所以我希望。我有一个256位的十六进制整数编码为大端,我需要转换为小端。 Python的结构模块通常就足够了,但the official documentation没有列出的格式,其大小甚至接近我需要的大小。如何在Python中将256位大端数整数转换为小端数?
使用结构的非长度特定类型的(虽然我可以做这个错误)似乎不工作:
>> x = 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000'
>> y = struct.unpack('>64s', x)[0] # Unpacking as big-endian
>> z = struct.pack('<64s', y) # Repacking as little-endian
>> print z
'ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000'
示例代码(会发生什么):
>> x = 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000'
>> y = endianSwap(x)
>> print y
'00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff'
你是包装和拆装它作为一个字符串。字符串没有字节顺序。 –