Python解析HEX文件


解析Intel的HEX文件,学习Python文件输入输出的时候,练习了一下。

 

import sys
import os

HexTable = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,'A':10,'B':11,'C':12,'D':13,'E':14,'F':15}

fin  = open('slave.hex', 'r')
fout = open('out.bin', 'wb')

for i in range(0, 65536, 1):
	fout.write("\x00")

for aLineData in fin:
	DataLen  = HexTable[aLineData[1]]*16 + HexTable[aLineData[2]]
	DataAddr = HexTable[aLineData[3]]*16*16*16 + HexTable[aLineData[4]]*16*16 + \
	           HexTable[aLineData[5]]*16 + HexTable[aLineData[6]]
	DataType = HexTable[aLineData[7]]*16 + HexTable[aLineData[8]]

	# Data Offset
	fout.seek(DataAddr)
	for i in range(0, DataLen*2, 2):
		DataContent = HexTable[aLineData[9+i]]*16 + HexTable[aLineData[10+i]]
		StrContent = chr(DataContent)
		fout.write(StrContent)

	print hex(DataLen),hex(DataAddr),hex(DataType)

fin.close()
fout.close()


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM