将十六进制数字列表转换为字符串并写入文件?

-1 投票
1 回答
7468 浏览
提问于 2025-04-16 21:14

我有一串十六进制数字,我需要把它们转换成字符串,以便写入一个二进制文件。我该怎么做呢?(就是把这串十六进制数字变成字符串)

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

撰写回答