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插座和字節轉換,因此任何意見將是有益的:)
感謝, 托馬斯