Skip to content

数据类型定义

本文档定义了蓝牙通信协议中使用的各种数据类型和编码规范。

基本数据类型

协议中使用以下基本数据类型:

类型长度类型说明
整型定长由长度属性 u 指明长度
字符串定长C 风格字符串,必须以二进制 0 结束。如果没有到达指定长度,用二进制 0 填充,编码格式采用 GBK
字符串变长C 风格字符串,必须以二进制 0 结束。编码格式采用 GBK
二进制变长长度由其它字段给出

编码规范

字节序

字节序要求

对于多字节的字段传输采用大端序模式(网络字节序)

字符串编码

  • 所有字符串采用 GBK 编码格式
  • 定长字符串必须以二进制 0 结束
  • 未满指定长度的部分用二进制 0 填充

二进制数据

  • 二进制数据长度由协议中的其他字段指定
  • 常见于加密密钥、签名等场景

示例说明

定长字符串示例

假设定义一个长度为 16 字节的用户名字段:

c
// 用户名 "张三" (GBK编码: 0xD5 0xC5 0xC8 0xFD)
char username[16] = {0xD5, 0xC5, 0xC8, 0xFD, 0x00, ...}; // 后续用0填充

整型示例

c
// 4字节整型,大端序
uint32_t token = 0x12345678;
// 传输字节序列: 0x12 0x34 0x56 0x78

鑫泓佳智能硬件通信协议文档