我试着取一个文件,把它的内容转换成十六进制,保存到一个文件,然后 将十六进制字符串转换回ascii并将其保存到文件中。下面的方法可以工作,但是在十六进制到ascii文件中的每一行之后添加一个额外的空行,它应该与初始文件相同。。。在
import binascii
filename = 'file.txt'
with open(filename, 'rb') as f:
content = f.read()
out = binascii.hexlify(content)
f = open('out.txt', 'w')
f.write(out)
f.close()
asci = out.decode("hex")
w = open('printed.txt', 'w')
w.write(asci)
w.close()
==========================================================================================
在实际阅读了python文档之后,我意识到了我的错误。代码应该如下所示。(稍微改为顺序文件…)
^{pr2}$关键是在open命令的“w”后面加上“b”,以二进制写入模式打开文件。。。在
与其使用}。在
str.decode
,不如尝试使用binascii.unhexlify
。decode
在转换换行符时可能略有不同,例如它如何处理'\r\n'
与{相关问题 更多 >
编程相关推荐