python - python 2.7中文件到十六进制到文件

标签 python hex ascii

我正在尝试获取一个文件并将其内容转换为十六进制,将其保存到文件中,然后 将十六进制字符串转换回 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()

关键是将附加“b”添加到打开命令中的“w”,以便以二进制写入模式打开文件...

最佳答案

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

关于python - python 2.7中文件到十六进制到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15715098/

相关文章:

python - linux软件生成的数据文件存放在哪里?

c++ - 是否有一种算法可以快速将大量十六进制字符串转换为字节流?汇编/C/C++

在 C 中将 ascii char[] 转换为十六进制 char[]

java - 在不改变字符串长度的情况下将 Unicode 转换为 ASCII(在 Java 中)

python - 无法使用 openpyxl 加载工作簿

python - 避免向 Django 模型添加重复条目的有效方法

python - 转换 MySQL 查询以在 web2py DAL 中使用

c++ - 我怎样才能阻止我的整数显示为十六进制?

php - 使用一个函数将 ASCII 和 UTF-8 转换为非特殊字符

python-3.x - 在 python 中将 ebcdic 解码为 ascii/可读文本