协议 / 二进制序列化

CBOR 转换器看清每个字节的类型

选择十六进制、Base64、Base64URL 或本地文件,检查一个完整 CBOR 数据项的类型树和 JSON 映射。

CBOR 转换器

输入

结果

输入数据或载入示例。

只在本浏览器处理,不上传输入内容。

选项

请明确选择输入格式;每次只读取一个完整 CBOR 数据项。

输入数据或载入示例。

收到一段二进制消息却不知道哪个字段是标签、字节串或数字键时,CBOR 转换器可以按字节偏移展示结构。普通 JSON 无法原样容纳这些类型,因此这里用显式标记保留差异。需要反向构造载荷时,再切换到 JSON 转 CBOR 编码。

为什么用这个 CBOR 转换器

从字节定位到字段

十六进制输入会展开为带起止偏移的字段树。CBOR 解码后仍能看见 tag 编号与数字 map key,不会被强行改成普通字符串键。

十六进制字节流分解成带类型与偏移标记的字段树

让 JSON 映射说明类型

CBOR 转换器把每个 map 表示为有序 entries,并分别标记字节串、标签和超安全范围整数。复制结果前即可看出哪些值不是普通 JSON 类型。

字节串、数字键与标签保留在独立的结构卡片中

先认输入格式,再核对字段

01

明确选择字节表示

默认按十六进制读取;Base64 与 Base64URL 要手动选择。本地 .cbor 文件在浏览器读取,替换现有输入前会显示预览。

02

留意更新时机

自动模式在修改后等待 350 毫秒;关闭后可用 Ctrl/Cmd + Enter 执行。输入或选项变动时,旧结果的复制和下载会立即停用。

03

看树与带标记映射

字段树显示类型和字节范围;JSON 视图中的 $cbor 标记指出不可直接映射的内容。下载解码结果得到映射 JSON,编码结果则是原始 .cbor 字节。

从解析结构到生成字节

检查多种 CBOR 类型

CBOR 解码支持整数、浮点、字节串、文本、数组、映射、简单值与标签,也能读取不定长容器。

保留映射键与顺序

CBOR 转 JSON 的视图将 map 显示为键值对列表;数字键和重复键不会被普通对象覆盖。

编码普通 JSON

JSON 转 CBOR 支持对象、数组、字符串、布尔值、null 与安全数值,可复制十六进制或 Base64,并下载二进制文件。

类型、长度与协议边界

只读取一个数据项
尾随字节会报出偏移;CBOR 转换器不会把连续拼接的多个数据项当成一个成功结果。
映射不是普通对象
即使键都是文本,输出也使用 $cbor entries。编码入口只接受普通 JSON,不会自动把这些标记解释回原来的字节编码。
不悄悄舍入整数
超出 JavaScript 安全范围的普通 JSON 整数会被拒绝;解码的大整数保留十进制文本。输入上限为 1 MiB、1 万节点、64 层。
不验证上层协议
显示 tag 不等于验证 COSE 签名、WebAuthn 载荷或 CDDL 规则;工具也不从 URL 拉取数据。

CBOR 转换器常见问题

CBOR 和 JSON 的主要区别是什么?

CBOR 是二进制格式,能表示字节串、标签与非文本映射键;普通 JSON 没有这些原生类型,因此结果使用带类型标记的 JSON 映射。

这个工具支持哪些数据类型?

这里会展示整数、浮点数、文本、字节串、数组、map、简单值与 tag。未知 tag 保留编号,不会臆测业务含义。

输出格式中的十六进制和 Base64 有什么区别?

十六进制便于逐字节检查;Base64 是紧凑的文本包装。编码输出可以在两者之间切换,表示的 CBOR 字节相同。

我可以上传文件进行转换吗?

可以选本地文件,浏览器读取后先预览替换,再由你应用。文件不会上传到服务器。

如何检查或创建二进制消息?

解码时看字段树中的类型与偏移;创建消息时把普通 JSON 编成 CBOR,并下载 .cbor。超出普通 JSON 的类型不能靠这一输入反向构造。

还有疑问?

现在使用 CBOR 转换器

解析手头的 CBOR 消息,或将普通 JSON 编成新字节;导出前先确认类型标记。