import struct
# pack variable length
# 将变长数据打包
data = b'hello world'
length = len(data)
packed_data = struct.pack(f'!I{length}s', length, data)
print(packed_data)
这段代码的作用是将变长的数据打包成二进制格式。具体来说,它使用了Python的struct模块中的pack函数,将数据长度和数据本身打包成一个二进制字符串。其中,'!I{length}s'是pack函数的格式化字符串,其中'!'表示使用网络字节序,'I'表示使用4字节无符号整数,'{length}s'表示使用长度为length的字符串。最后,打包后的二进制字符串被输出到控制台。