0

データの受信に Python 2.7 ソケットを使用しています。

data = self.socket.recv(4096)

データから最初の unsigned short を取得するにはどうすればよいですか? データは次のようになります。

>>> print repr(data) 
'\x00\x053B2D4C24\x00\x00\x01\x00...'
4

3 に答える 3

1

unsigned shortが2バイトを意味する場合は、次のようにします。

data[:2]

解析するデータの特定のチャンクサイズを知っていて、期待している場合は、structライブラリを使用できます。

于 2011-03-27T21:44:05.647 に答える
0

これは私が思いついたものです:

s = struct.Struct('H')
num = int('0x' + ''.join(x for x in repr(packet[:s.size]) if x.isdigit()), 0)
于 2011-03-27T22:56:32.687 に答える