def odd_parity(data): result = [] for byte in data: # 将byte转换为二进制字符串 binary = bin(byte)[2:].zfill(8) # 统计二进制字符串中1的个数 count = binary.count('1') # 根据1的个数确定校验位 parity = '1' if count % 2 == 0 else '0' # 将校验位添加到二进制字符串的最后一位 binary += parity # 将二进制字符串转换为十进制数并添加到结果列表中 result.append(int(binary, 2)) return result

测试代码

data = [72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33] result = odd_parity(data) print(result) # [137, 110, 143, 143, 239, 173, 160, 239, 207, 143, 239, 140, 239]

Python 奇校验编码:将列表数据转换为带奇校验位的二进制形式

原文地址: https://www.cveoy.top/t/topic/m4MT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录