如何在Python中反转4字节常量的字节顺序?

时间:2018-12-06 02:21:15

标签: python string

我想知道如何反转4字节常量字符串上的字节顺序(例如0x243F6A88-> 0x88 0x3F 0x6A 0x88)。我当前的解决方案将执行此操作:0x243F6A88-> 886A3F240x。这是我到目前为止的代码:

value = "0x243F6A99"
joined = "".join(map(str.__add__, value[-2::-2] ,value[-1::-2]))
print(joined)

任何见识表示赞赏!

2 个答案:

答案 0 :(得分:2)

对于Python2:

value="243F6A99".decode('hex')
value=value[::-1]
print (value.encode('hex'))

对于Python3:

value=bytes.fromhex("243F6A99")
value=value[::-1]
print(bytes.hex(value))

答案 1 :(得分:0)

如果您确定字符串恰好有八个十六进制数字,则

value = "0x243F6A99"
joined = "0x" + "".join(map(str.__add__, value[-2:1:-2] ,value[-1:2:-2]))
print(joined)

应该足够了。