如何在python中将hex写入文件

时间:2012-12-10 23:29:54

标签: python hex

我真的不明白Python会发生什么。

如果我使用

f.write(data.encode("hex"))

Python将我的数据转换为十六进制字符串,因此在“hello”的情况下 我得到了字符串68656c6c6f。

但是使用

f = open('file.dat', 'wb')
f.write("hello".encode("hex"))
f.close()

将只写十六进制的ascii。 hexlify也是如此。 我需要\ 00格式的十六进制,但似乎所有东西都想在ascsii中给我六角形字符串

2 个答案:

答案 0 :(得分:1)

>>> "\\"+"\\".join(["hello".encode("hex")[i:i+2] for i in range(0,len("hello".encode("hex")),2)])
'\\68\\65\\6c\\6c\\6f'

现在你有\前置每两个十六进制的字符

答案 1 :(得分:1)

如果您使用的是Python 3.x,我们有一个名为 binascii 的库,用于在二进制和ASCII之间进行转换......

>>> import binascii
>>> binascii.hexlify(b'Hi')