python类二进制颠倒及分块问题

问题遇到的现象和发生背景

img

用代码块功能插入代码,请勿粘贴截图

对于以上的16进制数,先通过类型转化转成二进制类型,再进行每个8位反转,最后通过4个3位,8个4位,16个5位..的形式分块,最后转位10进制(不能调包)

我的解答思路和尝试过的方法

我通过
length = int.from_bytes(data[36:37], byteorder='little', signed=True)
image1 = "0b{:08b}".format(int.from_bytes(data[37:37 + length], byteorder='little', signed=True))[2:]
for x in range(0, length, 7):
image1 = image1[:0:-1]
image1 = bin(int(image1, 2))
print(image1)
不知道该怎么写每个8位的反转和后面的分块,因为每8位还要进行补零,8位分块

没看明白后面怎么转回十进制的,001 000 000 100 是1 0 0 4啊,为什么输出是4 0 0 1?