python - 在線等,大神求解答下這個機器返回的數據應該怎么處理呢
問題描述
下面是接收一臺機器返回的數據
import socketserver # 導入socketserver模塊class MyServer(socketserver.BaseRequestHandler): # 創建一個類,繼承自socketserver模塊下的BaseRequestHandler類 def handle(self): while 1: conn = self.request addr = self.client_address while 1:accept_data = conn.recv(1024)#accept_data = int(’0x4’,16)print(accept_data)print(accept_data.decode(’utf-8’))if accept_data == 'byebye': breaksend_data = bytes(input('>>>>>'))conn.sendall(send_data) conn.close()if __name__ == ’__main__’: sever = socketserver.ThreadingTCPServer(('192.168.0.110', 10001),MyServer) sever.serve_forever() ## 如果我直接打印 那么結果是: 而且奇葩的是還雜帶了 byte 和 數字日期的,b’JYXx01xacx00x1bx00x08x00x02x00x00x00x00x00x00x00x02x00x02x00x06x00x0bx00x04x00x13x00x01x00x04x00x05x00x04x00x04x00x04x00x03x00x05x00x03x00x03x00x05x00x05x00x04x00x02x00x05x00x05x00/*Txe8x00x00x00x0b03 03xe5x85xa8xe8xa1x80cTnI/BNP/DDtest2017-04-20 09:27:1430.05ng/mLcTnI0.001.005.0pg/mLBNP0.0100.00.050mg/LDD0.0000.300XYJ’##如果用utf-8還是其他 都直接報錯了UnicodeDecodeError: ’utf-8’ codec can’t decode byte 0xac in position 4: invalid start byte這個情況 應該怎么處理呢 ,
問題解答
回答1:這個要看通訊協議,也許是自定義的協議
你要去問服務器的管理員
回答2:看數據樣子,估計要使用struct來解壓!
回答3:誰傳的找誰,或者看看有沒有協議文件,有可能是約定的解法。
