2018/05/23
Python2系とPython3系では binascii.crc32 の計算結果が異なるので注意
### python2 では signed、python3 では unsigned として扱われる 具体的な例としては以下。 ```python `title: "python2"; >>> import binascii >>> binascii.crc32(b"Hello") -137262718 ``` ```python `title: "python3"; >>> import binascii >>> binascii.crc32(b"Hello") 4157704578 ``` 数字は違うのですが、`0xF7D18982` を 32bit の signed として扱っているか、unsigned として扱っているかの違いです。 そして、これは仕様のようです。 > 参考 > > [Issue 4903: binascii.crc32() - document signed vs unsigned results - Python tracker](https://bugs.python.org/issue4903)