2016년 7월 23일 토요일

Python으로 Binary 파일을 읽고 Hex 형으로 표현하기

계기: Hardware 팀에서 Sensor Setting 하는 것을 자동화 하고 싶어한다.
방법: 1. Teraterm 의 명령어를 Script로 작성해서 자동 실행 한다.
        2. 1번을 위해 Sensor Setting 해야 하는 메모리 주소, 값의 리스트를 Binary 파일로 받아 TeraTerm Script로 자동 생성한다.


관련 코드
import binascii

binAllString = ""

with open("C:\\Users\\ADMIN\\Downloads\\info-523.bin", "rb") as f:
    byte = f.read(1)
    binAllString = binAllString + binascii.b2a_hex(byte)
    while byte != "":
        # Do stuff with byte.
        byte = f.read(1)
        hex_str = binascii.b2a_hex(byte)
        binAllString = binAllString + " " + hex_str
        
#print binAllString


binStringList = []

for s in range(0, len(binAllString), 48):
    print binAllString[s:s+48] + ""

세부 설명
Convert between binary and ASCII

Open file with "rb" (read binary)

Use b2a_hex function to use hexadecimal representation of the binary data

use String List( binAllString[s:s+48] ) to write script line every 48(16 hex values, 2digits-16bytes-16spaces)





댓글 없음:

댓글 쓰기