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:谁传的找谁,或者看看有没有协议文件,有可能是约定的解法。