当前位置: 首页 > web >正文

uni.onBLECharacteristicValueChange接收到数据,返回的value为{}的原因及其获取方法

使用uniapp开发蓝牙时,发现uni.onBLECharacteristicValueChange接收到数据res.value为{}。

但是命令又是对的,并且在其他蓝牙测试工具上的返回也是对的,为什么返回的value为{}?

核心原因:value 本质是 ArrayBuffer,空对象是 “可视化误解”

通过 res.value.byteLength 判断二进制数据长度(非空则有数据),再转成 Uint8Array 或字符串查看具体内容:

uni.onBLECharacteristicValueChange(res => {const buffer = res.value;console.log("数据长度:", buffer.byteLength); // 若 >0,说明有数据if (buffer.byteLength > 0) {const uint8Arr = new Uint8Array(buffer); // 转成 Uint8Array 查看二进制值const hexStr = Array.from(uint8Arr, byte => byte.toString(16).padStart(2, '0')).join(''); // 转16进制字符串console.log("实际数据(16进制):", hexStr);}
});

http://www.xdnf.cn/news/19363.html

相关文章:

  • 佳易王钟表维修养护管理系统:开启钟表维修高效管理新篇章​就#软件操作教程
  • Mysql 学习day 2 深入理解Mysql索引底层数据结构
  • React前端开发_Day6-Day9_极客园项目
  • C语言 - 输出参数详解:从简单示例到 alloc_chrdev_region
  • Spring AI 的应用和开发
  • 如何简单建设一个网站,让用户快速找到你。
  • 在PowerPoint和WPS演示让蝴蝶一直跳8字舞
  • Python生成免安装exe
  • SAP PP模块的MPS
  • Vue加载速度优化,verder.js和element.js加载速度慢解决方法
  • 防火墙技术(二):安全区域
  • C#调用c++ dll读取2进制文件时而正常,时而异常
  • 语义分割目前还是研究热点吗?
  • 如何快速了解项目管理基础
  • 【具身智能】【机械臂】机械臂轨迹规划项目以及资料汇总【持续更新】
  • 【物联网】MQTT / Broker / Topic 是什么?
  • windows 谷歌浏览器把英文改成中文
  • 【路由器】TP Link 路由器为何无法进入管理后台
  • 关于铭飞平台企业官网模板使用中常到的问题、企业官网的百度认证以及IDEA编辑启动器的快捷方法/Apipost本地和云端没法同步的问题解决
  • 【软考架构】SOA与微服务解疑
  • React Hooks深度解析与最佳实践:提升函数组件能力的终极指南
  • Unity笔记(八)——资源动态加载、场景异步加载
  • 迷你电脑用到什么型号的RJ45网口
  • 揭秘表格推理的“思维革命”:RoT模型介绍
  • seafile-setup-troubleshooting_# Seafile 安装与问题解决记录 # Seafile/Seahub 启动问题记录文档
  • linux基础——UDP、TCP
  • JavaScript之性能优化
  • 深入理解C++中的移动赋值与拷贝赋值函数——兼论移动构造函数及其实际应用场景
  • STM32手动移植FreeRTOS
  • 【学Python自动化】 1. Python 安装与配置完全指南 (Windows)