2024-10-03 13:21:08 发布
网友
我试图计算十六进制字符串的CRC-CCITT(0xFFFF),并以十六进制字符串的形式返回结果。我尝试了binascii和crc16,但是我得到了int值,当我把它们转换成十六进制时,它不是我期望的值。我需要这个:
binascii
crc16
hex_string = "AA01" crc_string = crccitt(hex_string) print("CRC: ", crc_string) >>> CRC: FF9B
可以使用^{}/^{}将int值转换为十六进制格式:(使用^{}获取crc)
>>> import binascii >>> import crc16 >>> hex_string = 'AA01' >>> crc = crc16.crc16xmodem(binascii.unhexlify(hex_string), 0xffff) >>> '{:04X}'.format(crc & 0xffff) 'FF9B' >>> format(crc & 0xffff, '04X') 'FF9B'
或使用^{} operator:
import binascii import crc16 def crccitt(hex_string): byte_seq = binascii.unhexlify(hex_string) crc = crc16.crc16xmodem(byte_seq, 0xffff) return '{:04X}'.format(crc & 0xffff)
可以使用^{} /^{} 将int值转换为十六进制格式:(使用^{} 获取crc)
或使用^{} operator :
^{pr2}$相关问题 更多 >
编程相关推荐