尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

BLE 广播 rawBytes 解析说明

BLE 广播 rawBytes 解析说明
📅 发布时间:2026/6/23 12:33:46

在 BLE 扫描结果中,rawBytes表示扫描到的原始广播数据或扫描响应数据。
这些数据通常由多个AD Structure组成,每个 AD Structure 都按照固定格式排列。


一、rawBytes 的结构

BLE 广播数据的基本结构如下:

Length | AD Type | AD Data

其中:

字段长度说明
Length1 字节表示后面还有多少字节,不包含 Length 自身
AD Type1 字节表示当前这段数据的类型
AD DataLength - 1 字节具体数据,解析方式由 AD Type 决定

需要注意:

Length 包含 AD Type 和 AD Data Length 不包含 Length 自己 AD Data 的长度 = Length - 1

例如:

02 01 06

解析为:

02 = Length,表示后面有 2 个字节 01 = AD Type 06 = AD Data

所以整个 AD Structure 实际长度是:

1 + Length = 3 字节

解析 rawBytes 时,就是不断重复读取:

读取 Length 读取 AD Type 读取 Length - 1 字节的 AD Data 根据 AD Type 解析 AD Data 继续读取下一段 AD Structure

如果遇到:

00

表示:

Length = 0

通常可以认为后面没有有效广播数据了。


二、常用 AD Type 及 Data 解析方式

AD Type名称AD Data 解析方式
0x01Flags1 字节,按 bit 位解析
0x02Incomplete List of 16-bit Service UUIDs每 2 字节一个 UUID,小端序
0x03Complete List of 16-bit Service UUIDs每 2 字节一个 UUID,小端序
0x06Incomplete List of 128-bit Service UUIDs每 16 字节一个 UUID
0x07Complete List of 128-bit Service UUIDs每 16 字节一个 UUID
0x08Shortened Local Name按 UTF-8 字符串解析
0x09Complete Local Name按 UTF-8 字符串解析
0x0ATx Power Level1 字节有符号整数,单位 dBm
0x16Service Data - 16-bit UUID前 2 字节是 16-bit UUID,小端序;后面是 Service Data
0x19Appearance2 字节,小端序
0xFFManufacturer Specific Data前 2 字节是 Company ID,小端序;后面是厂商自定义数据

1. Flags:0x01

示例:

02 01 06

解析:

02 = Length 01 = AD Type,表示 Flags 06 = AD Data

0x06转成二进制:

0000 0110

常见 bit 位含义:

位值含义
bit00x01LE Limited Discoverable Mode
bit10x02LE General Discoverable Mode
bit20x04BR/EDR Not Supported
bit30x08Simultaneous LE and BR/EDR to Same Device Capable, Controller
bit40x10Simultaneous LE and BR/EDR to Same Device Capable, Host

所以:

0x06 = 0x02 + 0x04

表示:

LE General Discoverable Mode BR/EDR Not Supported

2. 16-bit Service UUID:0x02 / 0x03

示例:

03 02 0F 18

解析:

03 = Length 02 = AD Type,表示 Incomplete List of 16-bit Service UUIDs 0F 18 = AD Data

16-bit UUID 使用小端序:

0F 18 => 0x180F

通常可以补全成 128-bit UUID:

0000180f-0000-1000-8000-00805f9b34fb

如果 AD Data 中有多个 UUID,例如:

05 03 0F 18 0A 18

解析为:

0F 18 => 0x180F 0A 18 => 0x180A

3. Local Name:0x08 / 0x09

示例:

08 09 44 65 76 69 63 65 31

解析:

08 = Length 09 = AD Type,表示 Complete Local Name 44 65 76 69 63 65 31 = AD Data

AD Data 按 UTF-8 字符串解析:

Device1

其中:

44 = D 65 = e 76 = v 69 = i 63 = c 65 = e 31 = 1

4. Tx Power Level:0x0A

示例:

02 0A EC

解析:

02 = Length 0A = AD Type,表示 Tx Power Level EC = AD Data

Tx Power 是 1 字节有符号整数。

0xEC => -20

所以表示:

Tx Power = -20 dBm

5. Service Data - 16-bit UUID:0x16

示例:

05 16 0F 18 64 00

解析:

05 = Length 16 = AD Type,表示 Service Data - 16-bit UUID 0F 18 = 16-bit UUID,小端序 64 00 = Service Data

其中:

0F 18 => 0x180F

后面的:

64 00

是该 Service 对应的数据,具体含义需要根据对应 Service 定义或厂商协议解析。


6. Appearance:0x19

示例:

03 19 C1 03

解析:

03 = Length 19 = AD Type,表示 Appearance C1 03 = AD Data

Appearance 是 2 字节小端序:

C1 03 => 0x03C1

常见 Appearance 示例:

值含义
0x0000Unknown
0x0040Generic Phone
0x0080Generic Computer
0x03C0Generic Human Interface Device
0x03C1Keyboard
0x03C2Mouse

7. Manufacturer Specific Data:0xFF

示例:

08 FF 4C 00 01 02 03 04 05

解析:

08 = Length FF = AD Type,表示 Manufacturer Specific Data 4C 00 = Company ID 01 02 03 04 05 = Manufacturer Data

Company ID 使用小端序:

4C 00 => 0x004C

后面的:

01 02 03 04 05

是厂商自定义数据。

需要注意:

0xFF 的 AD Data 中,只有前 2 字节 Company ID 是标准规定的; 后面的 Manufacturer Data 由厂商自己定义。

所以 Manufacturer Data 可能表示设备型号、MAC 地址、序列号、传感器数据、业务状态等,具体要看厂商协议。


三、完整示例

下面用一段脱敏后的 rawBytes 举例:

02 01 06 03 03 0F 18 08 09 44 65 76 69 63 65 31 08 FF 4C 00 01 02 03 04 05 03 19 C1 03

逐段解析如下。


第 1 段

02 01 06

解析:

02 = Length 01 = AD Type,Flags 06 = AD Data

0x06表示:

LE General Discoverable Mode BR/EDR Not Supported

第 2 段

03 03 0F 18

解析:

03 = Length 03 = AD Type,Complete List of 16-bit Service UUIDs 0F 18 = AD Data

小端序解析:

0F 18 => 0x180F

补全成 128-bit UUID:

0000180f-0000-1000-8000-00805f9b34fb

第 3 段

08 09 44 65 76 69 63 65 31

解析:

08 = Length 09 = AD Type,Complete Local Name 44 65 76 69 63 65 31 = AD Data

按 UTF-8 字符串解析:

Device1

第 4 段

08 FF 4C 00 01 02 03 04 05

解析:

08 = Length FF = AD Type,Manufacturer Specific Data 4C 00 = Company ID 01 02 03 04 05 = Manufacturer Data

Company ID 小端序:

4C 00 => 0x004C

Manufacturer Data:

01 02 03 04 05

这部分是厂商自定义数据,不能只根据蓝牙通用规则继续判断其业务含义。


第 5 段

03 19 C1 03

解析:

03 = Length 19 = AD Type,Appearance C1 03 = AD Data

小端序解析:

C1 03 => 0x03C1

表示:

Keyboard

四、解析总结

BLErawBytes的解析核心是:

Length | AD Type | AD Data

解析规则是:

1. 先读取 1 字节 Length 2. 再读取 1 字节 AD Type 3. 再读取 Length - 1 字节 AD Data 4. 根据 AD Type 决定 AD Data 的解析方式 5. 继续解析下一段 AD Structure

需要特别注意:

Length 不包含自己 Length 包含 AD Type AD Data 长度 = Length - 1 UUID 通常按小端序解析 Local Name 按 UTF-8 字符串解析 Manufacturer Specific Data 只有前 2 字节 Company ID 是通用格式,后面的数据由厂商自定义

因此,拿到 BLE 广播rawBytes后,不能直接把整段数据当成业务数据解析,而应该先按照 BLE AD Structure 拆分,再根据不同的 AD Type 分别解析。

相关新闻

  • 一文读懂主流仓库管理系统,精准选型不踩坑
  • Agent替人打电话:银企直连支付终态确认的语音问询方案探索
  • 5. 油气开采工程

最新新闻

  • K老答——从心所欲皆源本
  • 附近的机电维修在哪个地方
  • 游戏图形特效粒子系统与后期处理
  • 【共创季稿事节】重生AI推理大师:鸿蒙 NEXT 原生 AI 游戏应用开发实战
  • 自动化部署系统
  • 2026年想找吉阳区附近满意废品回收站?看这篇就知道!

日新闻

  • Arduino-ESP32项目深度解析:解锁隐藏芯片支持与架构演进
  • 2026年 系统窗厂家/品牌推荐榜单:隔音系统窗+高端系统门窗的核心优势与选购指南 - 品牌发掘
  • NVBench:首个双语非言语发声语音合成评测基准详解与实践

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号