首页CBOR编码/解码

CBOR编码/解码

在线CBOR编码/解码工具,支持JSON与CBOR互转、十六进制/Base64/C数组输出及长度模式控制,适用于物联网协议调试和嵌入式联调

粘贴从网络抓包、物联网设备或 API 响应中获取的 CBOR 数据

点击插入示例数据

解码结果

输入 CBOR 数据后自动解码并显示结果

CBOR 协议文档

CBOR 简介

CBOR(简明二进制对象表示)是 RFC 8949 定义的二进制序列化格式。它在保持与 JSON 数据模型兼容的同时,提供更紧凑的编码和更高的处理效率,适合物联网、嵌入式与安全认证场景。

二进制编码结构

每个 CBOR 数据项以 1 字节起始,前 3 位为主类型,后 5 位为附加信息。附加信息既可直接表示小值,也可表示后续长度字段的字节数。

附加信息含义
0-23值直接编码在附加信息中
24后跟 1 字节无符号数
25后跟 2 字节无符号数(大端)
26后跟 4 字节无符号数(大端)
27后跟 8 字节无符号数(大端)
31不定长度容器,终止码为 0xFF

CBOR 数据类型参考

主类型类型名称头部字节说明
0无符号整数0x00-0x1B0 到 2^64-1 的非负整数
1负整数0x20-0x3B-1 到 -2^64 的负整数
2字节串0x40-0x5B任意长度的原始二进制数据
3文本串0x60-0x7BUTF-8 编码的文本字符串
4数组0x80-0x9B有序数据项集合
5映射0xA0-0xBB键值对对象
6标签0xC0-0xDB扩展类型语义标签
7简单值/浮点0xE0-0xFB布尔值、null、undefined 与浮点数

容器长度编码选项

数组和映射可以采用不同长度模式编码。虽然语义相同,但二进制表现不同,常用于兼容不同协议和网关要求。

模式头部字节说明
紧凑模式A2 ...最小长度编码,优先紧凑表示
显式 16 位B9 00 02 ...固定使用 2 字节长度
显式 32 位BA 00 00 00 02 ...固定使用 4 字节长度
不定长度BF ... FF不定长度容器,适合流式构建

CBOR 与 JSON 对比

两种格式表示相同逻辑结构。JSON 更偏向文本可读性,CBOR 更偏向体积与性能。

CBOR 优势
  • 编码体积更小,网络传输开销更低
  • 原生支持二进制数据
  • 解析和编码速度通常更快
  • 支持语义标签扩展复杂类型
JSON 优势
  • 人类可读,便于快速查看
  • 浏览器和语言生态支持广泛
  • 日志和排查过程更直观

常见应用场景

  • 物联网设备通信和传感器数据传输
  • WebAuthn/FIDO2 身份认证协议数据分析
  • COSE(CBOR 对象签名与加密)安全应用
  • CoAP(受限应用协议)消息传递
  • 嵌入式系统配置和数据存储

语义标签

标签用于为 CBOR 数据增加语义解释,使解码端在不改变基础结构的前提下理解更丰富的数据类型。

标签编号语义含义
0标准日期时间字符串(RFC 3339)
1基于纪元的日期时间(Unix 时间戳)
2正大整数
3负大整数
32URI 引用
55799CBOR 自描述标记

数据默认在您的本地浏览器上处理,不会上传至服务器。如需上传会明确提示。

© 2026 See-Tool. 保留所有权利。 | 联系站长