Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python3套接字客户端发送和接收十六进制字符串_Python_Python 3.x_Sockets_Hex_Modbus Tcp - Fatal编程技术网

Python3套接字客户端发送和接收十六进制字符串

Python3套接字客户端发送和接收十六进制字符串,python,python-3.x,sockets,hex,modbus-tcp,Python,Python 3.x,Sockets,Hex,Modbus Tcp,我被困在这个套接字客户端Python3代码中: import socket import codecs def Main(): host = '127.0.0.2' port = 502 mySocket = socket.socket() mySocket.connect((host,port)) message = codecs.encode('\x00\x00\x00\x00\x00\x06\x01\x0

我被困在这个套接字客户端Python3代码中:

import socket
import codecs

def Main():
        host = '127.0.0.2'
        port = 502

        mySocket = socket.socket()
        mySocket.connect((host,port))

        message = codecs.encode('\x00\x00\x00\x00\x00\x06\x01\x04\x00\x01\x00\x02')

        mySocket.send(message)
        data = codecs.decode(mySocket.recv(1024))

        print ('Received from server: ' + data)


        mySocket.close()

if __name__ == '__main__':
    Main()
它给出了错误

文件“C:\Python34\lib\encodings\utf_8.py”,第16行,解码 返回编解码器.utf_8_解码(输入,错误,真) UnicodeDecodeError:“utf-8”编解码器无法解码位置11中的字节0xb3:无效的开始字节

我正在尝试连接到一个-Modbus/TCP-服务器

错误是什么


谢谢

这是因为它试图将
数据
转换为utf-8字符串(其中包含的一些字节无法在utf-8中表示)

如果要查看字节数组的十六进制值,可以:

Python3.5+

data = mySocket.recv(1024)
data.hex()
otherwrite

>>> import binascii
>>> data = mySocket.recv(1024)
>>> data = binascii.hexlify(data).decode()