我是python和socket编程的初学者,我正在寻求你的帮助。
我正在使用send in socket编程向工业机器发送文本命令。要求在socket编程中将文本转换为字节。所以我这样做:
client.send(b'command1')
var1=client.recv(1024)
client.send(b'command2')
var2=client.recv(1024)
# I receive the following for var1 and var2.
var1=b'\x00\x00\x00\x00\x00\x03n\x80\x01'
var2=b'\x00\x00\x00\x00\x00\x030\xb0\x01'
当我尝试使用utf-8对两种情况说“在第7位无法解码字节”进行解码时会抛出错误。我通过删除前四个或后四个字符尝试了utf-16,它可以工作,但显示中文字符。机器的用户界面实际上是英文的!
我知道var1应该是一个字符串,var 2应该是float。
只是为了测试,我尝试转换为十六进制和列表,它的工作原理;但我不知道如何继续获取实际的字符串并浮动。
感谢任何帮助;提前谢谢!