CRC_TA16 = [0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7,
0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef]
def crc16(p_Data):
crc = 0
for x in p_Data:
da = ((crc >> 8) & 0xFF) >> 4
crc <<= 4
crc ^= CRC_TA16 [da ^ (x >> 4)]
da = ((crc >> 8) & 0xFF) >> 4
crc <<= 4
crc ^= CRC_TA16 [da ^ (x & 0x0f)]
return crc & 0xffff
此处只是抛砖引玉作用;另外Python自库有crc16,是由Google维护的;以及有第三方提供的pycrc库,都可以自行引用;