我读到以下内容:
注:
在所有python版本和
平台使用adler32(data) & 0xffffffff
我希望将此应用于表单的字符串:"S89234IX",但当我这样做时,我会得到:

> zlib.adler32("S89234IX")

---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-9-84eee14d45ae> in <module>()
----> 1 zlib.adler32(campaigns_to_work_with[0])

TypeError: 'str' does not support the buffer interface

对如何将此函数应用于字符串有何想法?

最佳答案

data必须是字节字符串。如果要计算unicode数据的校验和,则需要将其编码为字节字符串,并确保使用特定的编码。例如,使用utf-8:

checksum = zlib.adler32("S89234IX".encode('utf-8')) & 0xffffffff

10-06 01:41