为了避免加密后的数据在传输过程中出错,利用奇校验可以完成相应识别,在发送端发送的每一个字节编码后,增加一个校验位
不太清楚m是干什么的
i干嘛的也不太清楚
i用于遍历从输入读取的字符串,m用于记录输入的字符串共有多少个字节,接收到的编码是: 100101001011010101101011011010100010,代码修改如下:
code = input('输入接收端编码:')
ch=""
m=0
n=0
i=0
count=0 #这个用于记录每个字节1的个数的变量不知道为什么没有看到定义,此处加上
#print("code len = ", len(code))
while i<len(code):
if i%9==0: #每隔9个计算一次校验码,并记录出处的字节与出错的个数
m+=1
for j in range(i,i+9):
#print('i=',i,'j=',j)
if code[j] == '1':
count+=1
if count % 2 ==0 :
n+=1
ch+= str(m)
i+=1 #此处需要两步更新变量值,让i+1指向一个字符
count=0 #count置0,用于记录下个字节1个个数
print('共有', n, '个字节信息存在错误:')
#print("m=",m,"len(ch)=",len(ch),"ch=",ch)
for k in range(1,len(ch)+1): # 遍历记录出错字节的字符串,然后打印结果
#print("k=",k)
print ('第',k, '处错误在第' , ch[k-1], '个字节')