python struct.unpack的使用有关问题
python struct.unpack的使用问题
我通过socket 接收的数据是 一个二进制流的消息体, 前4个字节是int型, 表示随后的字符串长度, 后面是字符串, 然后又是4字节整型, 表示字符串长度, 后面是字符串, 如此反复, 我用 struct.unpack 该怎么解这个消息体呢? 多谢
------解决方案--------------------
a=unpack('i4', f.read(4))
b=unpack('s', f.read(a))
------解决方案--------------------
这么简单还要库?
没测试,自己测试看看有没有错
我通过socket 接收的数据是 一个二进制流的消息体, 前4个字节是int型, 表示随后的字符串长度, 后面是字符串, 然后又是4字节整型, 表示字符串长度, 后面是字符串, 如此反复, 我用 struct.unpack 该怎么解这个消息体呢? 多谢
------解决方案--------------------
a=unpack('i4', f.read(4))
b=unpack('s', f.read(a))
------解决方案--------------------
这么简单还要库?
i = 0
s = []
while i < len(bytes):
n = int(bytes[i:i + 4].decode())
i += 4
s.append(bytes[i: i + n])
i += n
没测试,自己测试看看有没有错