18.14. binascii —在二进制和 ASCII 之间转换

binascii模块包含许多在二进制和各种 ASCII 编码的二进制表示形式之间进行转换的方法。通常,您不会直接使用这些Function,而应使用uubase64binhex之类的包装器模块。 binascii模块包含以更高的速度用 C 编写的低级Function,这些Function由上级模块使用。

binascii模块定义以下Function:

print binascii.crc32("hello world")
# Or, in two pieces:
crc = binascii.crc32("hello")
crc = binascii.crc32(" world", crc) & 0xffffffff
print 'crc32 = 0x%08x' % crc

Note

要在所有 Python 版本和平台上生成相同的数值,请使用 crc32(data)&0xffffffff。如果仅使用打包二进制格式的校验和,则没有必要,因为返回值是正确的 32 位二进制表示形式(与符号无关)。

在 2.6 版中更改:无论平台如何,返回值都在[-2 31,2 31-1]范围内。过去,该值将在某些平台上签名,而在其他平台上不签名。如果希望值与 Python 3 行为匹配,请在值上使用&0xffffffff。

在版本 3.0 中更改:无论平台如何,返回值都是无符号的,且范围为[0,2 ** 32-1]。

See also

  • Module base64

  • 支持以 16、32 和 64 为基数的 RFC 兼容的 base64 样式编码。

  • Module binhex

  • 支持在 Macintosh 上使用的 Binhex 格式。

  • Module uu

  • 支持在 Unix 上使用的 UU 编码。

  • Module quopri

  • 支持 MIME 电子邮件中使用的带引号的可打印编码。

首页