1

我正在使用 python 脚本将文件的数据复制到其他文件中

input_file = open('blind_willie.MP3', 'rb')
contents = input_file.read()
output_file = open('f2.txt', 'wb')
output_file.write(contents)

当我使用文本编辑器打开 f2 时,我看到这些符号:

ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿù`‘~ +Pg]Nñòs

有没有办法查看 f2 文件的二进制内容?

4

1 回答 1

4

是的,有一种方法可以查看f2文件的二进制内容,并且您已经发现了它。这些符号代表文件的二进制内容。

如果您想看到二进制内容的人类可读解释,您将需要一个十六进制转储程序或十六进制编辑器之类的东西。

在 Linux 上,我使用hdorod -t x1命令。

如果您想编写自己的十六进制转储命令,您可以从以下之一开始:

或者您可以使用以下代码:

def hd(data):
    """ str --> hex dump """
    def printable(c):
        import string
        return c in string.printable and not c.isspace()
    result = ""
    for i in range(0, len(data), 16):
        line = data[i:i+16]
        result += '{0:05x} '.format(i)
        result += ' '.join(c.encode("hex") for c in line)
        result += " " * (50-len(line)*3)
        result += ''.join(c if printable(c) else '.' for c in line)
        result += "\n"
    return result

input_file = open('blind_willie.MP3', 'rb')
contents = input_file.read()
output_file = open('f2.txt', 'wb')
output_file.write(hd(contents))
于 2013-04-03T13:34:11.087 回答