【发布时间】:2023-04-07 11:13:02
【问题描述】:
我实际上从温度传感器获得了一个值 (b'\xc8\x00')。我想将其转换为浮点值。对吗,我需要解码它吗?
这是我的功能:
def ToFloat(data):
s = data.decode('utf-8')
print(s)
return s
但是当我尝试编译它时,我得到了错误:
'utf-8' codec can't decode byte 0xc8 in position 0: invalid continuation byte
【问题讨论】:
-
您预计最终的值大约是多少?将两个字符转换为数字的方法有上百万种,如果我们知道您的温度计是放在烤箱里、客厅里还是南极洲里,这将有助于缩小范围。
-
编译?在蟒蛇?你认为 str.decode 应该做什么?您似乎试图转换为浮点数的字符串是什么?
-
b'\xc8\x00'代表什么浮点值?它是一种什么样的浮点表示?这不是一种常见的 IEEE 格式,至少需要 4 个字节的数据,所以只有两个字节是不够的。如果您知道表示形式,那么struct模块似乎是可以使用的。
标签: python python-3.x floating-point type-conversion decode