Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 Python 2.7 套接字来接收数据:
data = self.socket.recv(4096)
我如何从数据中检索第一个无符号短线?数据如下所示:
>>> print repr(data) '\x00\x053B2D4C24\x00\x00\x01\x00...'
如果 unsigned short 你的意思是两个字节,只需执行以下操作:
data[:2]
如果您知道并期望解析一定大小的数据,则可以使用该struct库。
struct
这就是我想出的:
s = struct.Struct('H') num = int('0x' + ''.join(x for x in repr(packet[:s.size]) if x.isdigit()), 0)
老问题,但我想我还是会发布一个更好的解决方案:
value, = struct.unpack('H', data[:2])
请注意,用法以正确解压缩返回的 1 元组。
,