Python计算CRC含有负数

2014-10-30 17:59

在Python中计算CRC有两个库,一个是binascii,另外一个是zlib,两者计算出来的CRC值域为 [-2^31, 2^31-1] 的有符号整数。
而通常我们所使用的是无符号整数类型,所以需要对计算得到的CRC值和0xffffffff这个数值进行操作来修正这个问题。

import zlib #换用binascii也可以
crc = zlib.crc32('测试') & 0xffffffff
print crc

这样运算后得到的CRC值,即可用于和C语言或其他语言计算出来的CRC值进行对比了。


原文链接: http://blog.jtwo.me/python-crc-contain-negative-num