#!/usr/bin/env python import sys fd = open(sys.argv[1], "rb") data = fd.read(1024) cnt = 0 while len(data): for c in data: if (cnt%16 == 0): print "%08x "%cnt, hex = ord(c) print "%02x"%(hex), if (cnt%16 == 15): print "" cnt += 1 data = fd.read(1024) hex2bin.py: #!/usr/bin/env python import sys import binascii fd = open(sys.argv[1], "r") lines = fd.readlines() func = lambda e:binascii.a2b_hex(e) for l in lines: colon_index = 0 try: colon_index = l.index(':') l = l[colon_index+1:] except: colon_index = 0 elems = l.strip().split() for e in elems: hex = func(e) #print hex, sys.stdout.write(hex) fd.close() 使用方法: python hex2bin.py file > output_file