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