我正在使用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文件的二进制内容?
答案 0 :(得分:4)
是的,有一种方法可以查看f2
文件的二进制内容,并且您已经发现了它。这些符号代表文件的二进制内容。
如果您希望看到对二进制内容的人类可读解释,您将需要类似十六进制转储程序或十六进制编辑器的内容。
在Linux上,我使用hd
或od -t x1
命令。
如果您想编写自己的十六进制转储命令,可以从以下其中一个开始:
contents.encode("hex")
或者您可以使用此代码:
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))