You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

硬件模块返回bytes数组转换问题:如何提取显示的12个整数?

解决方案

方法一:直接处理原始bytes数组(更简洁)

无需先转成列表,直接对原始变量a操作即可:

# 1. 将bytes解码为ASCII字符串,同时去除首尾空白(包括\r\n)
str_data = a.decode('ascii').strip()
# 2. 去掉开头的'>',按空格分割成数字字符串列表
num_str_list = str_data.lstrip('>').split()
# 3. 把每个字符串转成整数,得到目标列表
int_list = list(map(int, num_str_list))

执行后int_list就是你需要的12个整数:[128, 143, 134, 135, 141, 139, 134, 120, 137, 135, 132, 143]

方法二:从已有的列表s处理

如果已经得到了列表s,可以按以下步骤转换:

# 1. 将列表中的ASCII码转换为对应字符,拼接成完整字符串
str_data = ''.join(chr(c) for c in s)
# 2. 去掉开头的'>',按空格分割成数字字符串列表
num_str_list = str_data.lstrip('>').split()
# 3. 转换为整数列表
int_list = list(map(int, num_str_list))

补充说明

  • 原始bytes内容是ASCII编码的文本,解码时用ascii编码完全适配;
  • split()默认会按任意空白字符(包括多个空格、制表符等)分割,无需担心多余空格的干扰;
  • 两种方法最终都能得到目标的12个整数列表。

内容的提问来源于stack exchange,提问作者adameye2020

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 02:30:50