SNMP中变长Length字段的封装和解封装

来源:互联网 发布:元素周期表记忆软件 编辑:程序博客网 时间:2024/06/09 15:34
def parseLen(pkt):    ret = 0    offset = 0    while True:        num = struct.unpack("B", pkt[offset:offset + 1])[0]        ret = ret * 128 + num % 128        offset += 1        if num < 128:            break    return retdef encapLen(length):    ret = b""    ret += struct.pack("B", length % 128)    while True:        length = int(length / 128)        if length == 0:            break        ret = struct.pack("B", length % 128 + 128) + ret    return ret
原创粉丝点击