如何在按位异或后以与输入相同的方式格式化二进制输出?

How do I format a binary output the same way as the input after bitwise XOR?

我正在尝试对两个二进制数进行按位异或,如下所示:

a_telegram = "[=10=];02;A1;00000000;*"
checksum = "00000000"

testt="{0:08b}".format(int(hex(ord(a_telegram[2])),16))
result = int(testt) ^ int(checksum)

print (checksum)
print (testt)
print (result)

输出

00000000
00110000
110000

为什么结果不是8位,而是6位?我想这是一个格式问题,但我看不出我必须改变什么。 (请原谅我的英语不好,我不是英语母语者)

使用:

a_telegram = "[=10=];02;A1;00000000;*"
checksum = "00000000"

testt="{0:08b}".format(int(hex(ord(a_telegram[2])),16))
result = int(testt) ^ int(checksum)

print (checksum)
print (testt)
print (f'{result:08}')

出局

00000000
00110000
00110000
>>>