首页 > 解决方案 > TCP 发送特殊的 ASCII 字符

问题描述

我想通过 TCP/IP 向设备发送命令。但发送的字符被错误解码,然后设备无法解码。

我曾尝试使用encode('utf-8')b''处理它们但不成功。

TCP_IP = '10.38.94.133' 
port = 2049
cc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
cc.connect((TCP_IP, port))

sendstr = '11004¶1¶1\r'.encode('utf-8')

cc.sendall(sendstr) 

data = cc.recv(1024)
print()

错误是:

b'READ failed: tag 11004\xc2\xb61\xc2\xb61\r\n'

这表明命令以错误的方式编码。所以设备无法理解。特殊字符是 Separator = "¶" (ASCII 182) 。任何人都可以解释代码中有什么问题吗?提前致谢!

标签: pythonsocketstcp

解决方案


推荐阅读