Packing / Unpacking Message

def PackingMessage(val):
    fmt = '>BBBHB'
    fmt = fmt + '{0}s'.format(len(fmt) + 1)
    length = 0x04
    cmd = 0x01
    opt = 0x00
    chksum = length + cmd + opt + val
    return struct.pack(fmt, length, cmd, opt, val, chksum)
 

def UnpackingMessage(packedMsg):
    [msg, fmt] = packedMsg.split(b' ')
    return struct.unpack(fmt, msg)

packedMsg = PackingMessage(200)
UnpackingMessage(packedMsg)

猜你喜欢

转载自my.oschina.net/zungyiu/blog/1821467