我有一个.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。
编辑:文件大小为 16MB,我想反转整个文件的字节顺序。