我有一个.bin
文件,我想简单地反转十六进制数据。比如说@ 0x10
它显示为AD DE DE C0
,希望它读取DE AD C0 DE
。
我知道有一种简单的方法可以做到这一点,但我是初学者,只是学习python,我正在尝试制作一些简单的程序来帮助我完成日常工作。我希望以这种方式转换整个文件,而不仅仅是0x10
。
我将在起始偏移量0x000000
进行转换,并且blocksize / length为1000000。
编辑:
这是我的代码,也许你可以告诉我在哪里弄乱。
def main():
infile = open("file.bin", "rb")
new_pos = int("0x000000", 16)
chunk = int("1000000", 16)
data = infile.read(chunk)
save(data)
def save(data):
with open("reversed", "wb") as outfile:
outfile.write(data)
main()
我如何将其编码为从CDAB到ABCD的字节反转? 如果它有助于任何文件正好是16MB
答案 0 :(得分:0)
你可以像这样手动交换字节:
with open("file.bin", "rb") as infile, open("reversed", "wb") as outfile:
data = infile.read()
for i in xrange(len(data) / 2):
outfile.write(data[i*2+1])
outfile.write(data[i*2])