我在Simulink中有一个程序,可以通过TCP-IP发送一些值,并在Python2.7中读取它们。数据以“单个”值的形式发送。Python中的代码将其读取为4个字符串,其长度为32位(字符串长度为4)。在
print "x0:", ord(data[0])
print "x1:", ord(data[1])
print "x2:", ord(data[2])
print "x3:", ord(data[3])
问题是,我在Python中得到的值与发送的值不同。在
^{pr2}$所以如何得到这些值。。。0.125,13.65,51.79,113.4。。。作为接收端的正确数字(Python)?在
使用
struct
来解压您即将脱离连线的4字节浮点。在这将返回一个元组,因为传递给
unpack
的bytestring中可能有多个数据项。在我不得不用
chr()
从你的问题中重新创建bytestrings。如果您已经在x
中有一个bytestring,那么struct.unpack(patt,x)
就可以了。在您看到的字节形式的数据与您期望的值无关,因为它是IEEE754格式的。数据是二进制的,字节边界没有意义:
.
表示二进制点)相关问题 更多 >
编程相关推荐