如何在python中将十六进制写入文件
我真的不明白Python是怎么回事 如果我使用如何在python中将十六进制写入文件,python,hex,Python,Hex,我真的不明白Python是怎么回事 如果我使用 f.write(data.encode("hex")) Python将我的数据转换为十六进制字符串,因此在“hello”的情况下 我得到了字符串68656C6F 然而使用 f = open('file.dat', 'wb') f.write("hello".encode("hex")) f.close() 将只写入十六进制的ascii码。 赫克斯利也是如此。 我需要\00格式的十六进制,但似乎所有东西都希望在ascsii中为我提供十六进制字符串
f.write(data.encode("hex"))
Python将我的数据转换为十六进制字符串,因此在“hello”的情况下
我得到了字符串68656C6F
然而使用
f = open('file.dat', 'wb')
f.write("hello".encode("hex"))
f.close()
将只写入十六进制的ascii码。
赫克斯利也是如此。
我需要\00格式的十六进制,但似乎所有东西都希望在ascsii中为我提供十六进制字符串
>>> "\\"+"\\".join(["hello".encode("hex")[i:i+2] for i in range(0,len("hello".encode("hex")),2)])
'\\68\\65\\6c\\6c\\6f'
现在,如果您使用的是Python3.x,那么每两个十六进制字符就有一个库名为binascii,用于在二进制和ASCII之间转换
>>> import binascii
>>> binascii.hexlify(b'Hi')