3
我在解析UDP数据包时遇到了一些问题。我收到的报文,并用存储在变量“数据”和“地址”的数据,并发送器地址:读取UDP数据包
数据,ADDR = UDPSock.recvfrom(BUF)
该解析数据为字符串,我现在无法变成字节。我知道总共有28个字节的数据报数据包的结构,我试图得出的数据是以字节17:28为单位的。
我也试着这样做:
mybytes = data[16:19]
print struct.unpack('>I', mybytes)
--> struct.error: unpack str size does not match format
而且这样的:
response = (0, 0, data[16], data[17], 6)
bytes = array('B', response[:-1])
print struct.unpack('>I', bytes)
--> TypeError: Type not compatible with array type
而且这样的:
print "\nData byte 17:", str.encode(data[17])
--> UnicodeEncodeError: 'ascii' codec can't encode character u'\xff' in position 0: ordinal not in range(128)
更具体地说我想分析我认为是一个unsigned int 。现在我不确定接下来要尝试什么。我完全新在Python插座和字节转换,因此任何意见将是有益的:)
感谢, 托马斯