#!/usr/bin/env python
infile = file("in.mp3","rb")
outfile = file("out.txt","wb")
def main():
while 1:
c = infile.read(1)
if not c:
break
outfile.write(hex(ord(c)))
outfile.close()
infile.close()
if __name__ == '__main__':
main()
下面是我自己改过的
#coding:utf-8
# 程序目标,读取1.bmp,然后以16进制方式写到txt文件
def main():
f = open("1.bmp","rb")
outfile = open("out.txt","wb")
i = 0
while 1:
c = f.read(1)
i = i + 1
if not c:
break
if i%32 == 0:
outfile.write("\n")
else:
if ord(c) <= 15:
outfile.write("0x0"+hex(ord(c))[2:]+" ")
else:
outfile.write(hex(ord(c))+" ")
outfile.close()
f.close()
if __name__=="__main__":
main()
效果如下:
当然,我需要的是真正的十六进制值。然后代码变成了这样
#coding:utf-8
# 程序目标,读取1.bmp,然后以16进制方式写到txt文件
def main():
f = open("1.bmp","rb")
outfile = open("out.txt","wb")
i = 0
while 1:
c = f.read(1)
i = i + 1
if not c:
break
if i%32 == 0:
outfile.write("\n")
else:
if ord(c) <= 15:
outfile.write(("0x0"+hex(ord(c))[2:])[2:]+" ")
else:
outfile.write((hex(ord(c)))[2:]+" ")
outfile.close()
f.close()
if __name__=="__main__":
main()
文件的数据变成了