首页 > 解决方案 > 在python中将字节转换为浮点数或字符串

问题描述

我是 python 和套接字编程的初学者,正在寻求您的帮助。

我正在使用套接字编程中的发送向工业机器发送文本命令。在套接字编程中需要将文本转换为字节。所以我这样做:

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 应该是浮点数。

只是为了测试,我尝试转换为十六进制和列表,它可以工作;但我不确定如何继续获取实际的字符串和浮点数。

感谢任何帮助;提前致谢!

标签: pythonsocketsutf-8utf-16

解决方案


推荐阅读