Python中如何将小端序4字节列表转换为float类型
Python小端4字节序列转float的实现方法
核心原理
你拿到的4字节列表是符合IEEE 754标准的单精度浮点数小端存储形式,只需要先将整数列表转为字节对象,再按小端规则解析即可。
方法1:使用内置struct模块(推荐,无第三方依赖)
这是Python官方推荐的二进制数据解析方案,兼容性最好:
import struct # 你的串口获取到的字节列表 byte_list = [0, 0, 52, 66] # 转换为原生字节对象 byte_data = bytes(byte_list) # 解析参数说明:< 代表小端序,f 代表4字节单精度浮点数 # unpack返回元组,取第一个元素就是结果 float_num = struct.unpack('<f', byte_data)[0] print(float_num)
运行以上代码输出结果为 33.0。
拓展说明
- 如果后续需要解析大端序的4字节float,只需要把格式符里的
<替换为>即可 - 如果需要批量解析多个连续的float,比如8个字节对应2个float,格式符改为
<ff即可,返回的元组会依次包含所有解析结果
内容的提问来源于stack exchange,提问作者gogogo
相关产品推荐
相关产品推荐

