繁体   English   中英

File to Hex to File in python 2.7

[英]File to Hex to File in python 2.7

我正在尝试获取一个文件并将其内容转换为十六进制,将其保存到文件中,然后将十六进制字符串转换回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文档之后,我意识到了自己的错误。 代码应如下。 (稍作更改以从out.txt中读取...)

import binascii
filename = 'file.txt'
with open(filename, 'rb') as f:
    content = f.read()
out = binascii.hexlify(content)

f = open('out.txt', 'wb')
f.write(out)
f.close()

import binascii
filename = 'out.txt'
with open(filename, 'rb') as f:
    content = f.read()
asci = content.decode("hex")

asci = out.decode("hex")
w = open('printed.txt', 'wb')
w.write(asci)
w.close()

关键是在open命令的“ w”后面添加“ b”,以二进制写入模式打开文件。

而不是使用str.decode ,您应该尝试使用binascii.unhexlify decode可能在换行符转换方面稍有不同,例如,它如何处理'\\r\\n''\\n'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM