python - 在線等,大神求解答下這個(gè)機(jī)器返回的數(shù)據(jù)應(yīng)該怎么處理呢
問(wèn)題描述
下面是接收一臺(tái)機(jī)器返回的數(shù)據(jù)
import socketserver # 導(dǎo)入socketserver模塊class MyServer(socketserver.BaseRequestHandler): # 創(chuàng)建一個(gè)類,繼承自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() ## 如果我直接打印 那么結(jié)果是: 而且奇葩的是還雜帶了 byte 和 數(shù)字日期的,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還是其他 都直接報(bào)錯(cuò)了UnicodeDecodeError: ’utf-8’ codec can’t decode byte 0xac in position 4: invalid start byte這個(gè)情況 應(yīng)該怎么處理呢 ,
問(wèn)題解答
回答1:這個(gè)要看通訊協(xié)議,也許是自定義的協(xié)議
你要去問(wèn)服務(wù)器的管理員
回答2:看數(shù)據(jù)樣子,估計(jì)要使用struct來(lái)解壓!
回答3:誰(shuí)傳的找誰(shuí),或者看看有沒(méi)有協(xié)議文件,有可能是約定的解法。
