def varint(n):
if n < 0xfd:
return struct.pack('<B', n)
elif n < 0xffff:
return struct.pack('<cH', '\xfd', n)
elif n < 0xffffffff:
return struct.pack('<cL', '\xfe', n)
else:
return struct.pack('<cQ', '\xff', n)
一个模块 ,作用是根据n的值得大小 打包成字符流
按照给定的格式(fmt),把数据封装成字符串(实际上是类似于c结构体的字节流)