⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_binascii.py

📁 minimal python variant for small footprint apps like embedded apps
💻 PY
字号:
"""Test the binascii C module."""from test_support import verboseimport binascii# Show module doc stringprint binascii.__doc__# Show module exceptionsprint binascii.Errorprint binascii.Incomplete# Check presence and display doc strings of all functionsfuncs = []for suffix in "base64", "hqx", "uu":    prefixes = ["a2b_", "b2a_"]    if suffix == "hqx":        prefixes.extend(["crc_", "rlecode_", "rledecode_"])    for prefix in prefixes:        name = prefix + suffix        funcs.append(getattr(binascii, name))for func in funcs:    print "%-15s: %s" % (func.__name__, func.__doc__)# Create binary test datatestdata = "The quick brown fox jumps over the lazy dog.\r\n"for i in range(256):    # Be slow so we don't depend on other modules    testdata = testdata + chr(i)testdata = testdata + "\r\nHello world.\n"# Test base64 with valid dataprint "base64 test"MAX_BASE64 = 57lines = []for i in range(0, len(testdata), MAX_BASE64):    b = testdata[i:i+MAX_BASE64]    a = binascii.b2a_base64(b)    lines.append(a)    print a,res = ""for line in lines:    b = binascii.a2b_base64(line)    res = res + bassert res == testdata# Test base64 with random invalid characters sprinkled throughout# (This requires a new version of binascii.)fillers = ""valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/"for i in range(256):    c = chr(i)    if c not in valid:        fillers = fillers + cdef addnoise(line):    noise = fillers    ratio = len(line) / len(noise)    res = ""    while line and noise:        if len(line) / len(noise) > ratio:            c, line = line[0], line[1:]        else:            c, noise = noise[0], noise[1:]        res = res + c    return res + noise + lineres = ""for line in map(addnoise, lines):    b = binascii.a2b_base64(line)    res = res + bassert res == testdata# Test uuprint "uu test"MAX_UU = 45lines = []for i in range(0, len(testdata), MAX_UU):    b = testdata[i:i+MAX_UU]    a = binascii.b2a_uu(b)    lines.append(a)    print a,res = ""for line in lines:    b = binascii.a2b_uu(line)    res = res + bassert res == testdata# Test crc32()crc = binascii.crc32("Test the CRC-32 of")crc = binascii.crc32(" this string.", crc)if crc != 1571220330:    print "binascii.crc32() failed."# The hqx test is in test_binhex.py

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -