我有一个 .bin 文件,我想简单地对十六进制数据进行字节反转。比如说@ 0x10 它读取 AD DE DE C0,希望它读取 DE AD C0 DE。
我知道有一种简单的方法可以做到这一点,但我是初学者,刚刚学习 python,正在尝试制作一些简单的程序来帮助我完成日常任务。我想以这种方式转换整个文件,而不仅仅是 0x10。
我将在起始偏移量 0x000000 处转换,块大小/长度为 1000000。
这是我的代码,也许你可以告诉我该怎么做。我确定我只是没有得到它,而且我是编程和 python 的新手。如果你能帮助我,我将不胜感激。
def main():
infile = open("file.bin", "rb")
new_pos = int("0x000000", 16)
chunk = int("1000000", 16)
data = infile.read(chunk)
reverse(data)
def reverse(data):
output(data)
def output(data):
with open("reversed", "wb") as outfile:
outfile.write(data)
main()
您可以看到用于反转的模块,我尝试了许多不同的建议,它要么原封不动地传递文件,要么抛出错误。我知道模块反向现在是空的,但我已经尝试了各种各样的东西。我只需要模块反转即可将 AB CD 转换为 CD AB。感谢您的任何意见
编辑:文件为 16 MB,我想反转整个文件的字节顺序。