因工作需要对二进制编码文件进行仿真,但是仿真软件无法直接读取二进制文件(可能有方法打开,但是我不会)。故而使用 Python 将二进制文件转化为直接可读的二进制文本。
import os
import binascii
from functools import partial
i = 0
f = open('c.txt', 'rb')
f2 = open('f.txt', 'w')
records = iter(partial(f.read,1), b'')
for r in records:
r_int = int.from_bytes(r, byteorder='big') #将 byte转化为 int
str_bin = bin(r_int).lstrip('0b') #将int转化为二进制字符
if r_int.bit_length() < 8 : #以8bit为单位,不足8bit的补零
str_bin = (8 - r_int.bit_length()) * '0' + str_bin
f2.write(str_bin)
i += 1
if i == 4 : #以32bit为单位分行
f2.write('\n')
i = 0
f.close
f2.close
网友评论