Python 结构包镜像

Posted

技术标签:

【中文标题】Python 结构包镜像【英文标题】:Python struct pack mirroring 【发布时间】:2021-07-16 10:48:00 【问题描述】:

以下是我的代码示例:

import struct

data = []
for i in range(5):
    firmware_addr = 128*i
    p = struct.pack('>I', firmware_addr)
    print("Addr: 0, pack: 1".format(firmware_addr, p))

输出:

Addr: 0, pack: b'\x00\x00\x00\x00'
Addr: 128, pack: b'\x00\x00\x00\x80'
Addr: 256, pack: b'\x00\x00\x01\x00'
Addr: 384, pack: b'\x00\x00\x01\x80'
Addr: 512, pack: b'\x00\x00\x02\x00'

它工作正常。但我需要有这样的输出:

Addr: 0, pack: b'\x00\x00\x00\x00'
Addr: 128, pack: b'\x80\x00\x00\x00'
Addr: 256, pack: b'\x00\x01\x00\x00'
Addr: 384, pack: b'\x80\x01\x00\x00'
Addr: 512, pack: b'\x00\x02\x00\x00'

我该怎么做?

【问题讨论】:

【参考方案1】:

好吧,这比我想象的要容易。 解决方案: p[::-1]

【讨论】:

以上是关于Python 结构包镜像的主要内容,如果未能解决你的问题,请参考以下文章