处理来自Python socket的recv数据
我正在使用Python 2.7的套接字来接收数据:
data = self.socket.recv(4096)
我该如何从这些数据中获取第一个无符号短整型数呢?这些数据看起来是这样的:
>>> print repr(data)
'\x00\x053B2D4C24\x00\x00\x01\x00...'
3 个回答
0
这是个老问题,但我觉得还是有必要分享一个更好的解决方案:
value, = struct.unpack('H', data[:2])
注意这里使用了,
,这是为了正确地拆解返回的1元组。
0
这是我想到的:
s = struct.Struct('H')
num = int('0x' + ''.join(x for x in repr(packet[:s.size]) if x.isdigit()), 0)
1