将十六进制数字列表转换为字符串并写入文件?
我有一串十六进制数字,我需要把它们转换成字符串,以便写入一个二进制文件。我该怎么做呢?(就是把这串十六进制数字变成字符串)
1 个回答
9
把数据转换成字符串很简单。
>>> "aabbccddeeff".decode('hex')
'\xaa\xbb\xcc\xdd\xee\xff'
你不需要做什么特别的事情就可以把它写入文件。
>>> with open("out.txt", "wb") as f:
... f.write("aabbccddeeff".encode('hex'))
在Python3中,这稍微有点不同。
>>> import binascii
>>> with open("out.txt", "wb") as f:
... f.write(binascii.unhexlify("aabbccddeeff"))
...
6
编辑:根据评论中的澄清。
>>> with open("out.txt", "wb") as f:
... f.write(''.join(['\x00', '\x80', '\xfe', '\x7f']))
再次强调,在Python3中,这又稍微有点不同。
>>> with open("out.txt", "wb") as f:
... f.write(b''.join([b'\x00', b'\x80', b'\xfe', b'\x7f']))
...
4