跳到主要内容

CBOR编码器/解码器

将JSON值编码为CBOR(RFC 8949)二进制数据(十六进制或Base64格式),或将CBOR字节解码回JSON。完全在浏览器中运行。

输入

输出

结果
这对您有帮助吗?

使用指南

什么是CBOR?

CBOR(简洁二进制对象表示法,RFC 8949)是一种二进制数据格式,基于与JSON相同的数据模型(数字、字符串、数组、映射、布尔值和null),但编码为紧凑字节而非文本。每个值都是一个短的类型标头(主类型+长度),后面紧跟其内容,因此没有标点符号、引号或用于填充有效负载的空格。

这种紧凑性就是CBOR在带宽或解析成本至关重要的地方出现的原因:CoAP(受限IoT设备的类HTTP协议)、COSE(在WebAuthn和FIDO2通行密钥中使用的签名/加密CBOR对象)、CWT(CBOR网络令牌,JWT的二进制对等物)、Docker的内容寻址存储以及无数的嵌入式和低功耗消息协议。如果JSON是"网络上可读的人类数据",那么CBOR就是为有字节预算的网络构建的相同数据模型。

如何使用

  1. 选择模式
    • 编码JSON → CBOR — 将JSON值(对象、数组、字符串、数字、布尔值或null)粘贴到输入框中。该工具会解析它并将其编码为CBOR,将结果显示为十六进制Base64(从下拉列表中选择格式)。
    • 解码CBOR → JSON — 将CBOR字节粘贴为十六进制或Base64;格式会自动检测。该工具会解码字节并显示等效的JSON值,格式化显示。
  2. 使用输出框上的按钮复制或下载结果。
  3. 随着您输入或切换模式,处理会即时发生——没有单独的"运行"步骤。

JSON和CBOR之间的值映射方式

  • 整数使用CBOR的最短形式编码:值0–23适合单个标头字节;较大的值使用1/2/4/8字节的后续长度,自动选择。负数使用CBOR的专用负整数主类型。
  • 字符串是UTF-8文本字符串(CBOR主类型3)。
  • 数组对象映射到CBOR数组和映射(主类型4和5)——对象键始终编码为文本字符串。
  • **truefalsenull**使用CBOR的三字节"简单值"编码。
  • 非整数(任何带小数点的数字,或太大而无法成为安全整数的数字)编码为8字节双精度浮点数——此工具始终使用双精度而非CBOR可选的半精度/单精度快捷方式,用简单性和无损往返交换几个字节的大小。
  • 解码也理解JSON中不存在的CBOR概念——字节字符串、标签和"简单"值——通过将它们表示为JSON友好的占位符(例如,字节字符串解码为"h'a1b2c3'",标签解码为{"$tag": N, "value": ...})而不是失败。

常见问题

为什么编码普通数字有时会不可预测地改变大小? CBOR总是为整数的大小选择最短的有效标头——10是一个字节,1000是三个,100000是五个。这不是bug;这是格式的要点。

我可以解码另一个库生成的CBOR吗? 可以——解码处理任意格式正确的CBOR(主类型的任何组合、确定或不确定长度、标签),而不仅仅是该工具本身生成的数据。

格式错误或截断的输入会发生什么? 两种模式都会报告清晰的内联错误(无效的JSON,或精确描述CBOR字节出了什么问题——例如"CBOR数据意外结束"),而不是静默失败。

我的数据会被上传到任何地方吗? 不会——编码和解码都完全在您的浏览器中运行。您粘贴的任何内容都不会被发送到服务器。

cborjsonbinaryencoderdecoderrfc8949iotcoap

使用此工具的更多方式

REST API

curl -X POST https://api.iotools.cloud/v1/tool/cbor-encoder-decoder \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "inputText": "[1,2,3]",
    "mode": "encode",
    "outputFormat": "hex"
  }'

替换成您账户中的密钥。工具的字段即为请求体——没有额外包装。

让 AI 代理执行

Use the IOTools `cbor-encoder-decoder` tool (CBOR Encoder / Decoder) on this input:

YOUR_INPUT_HERE

将此粘贴给任何已连接 IOTools MCP 服务器的代理,再加上您的输入内容。

嵌入式小组件

<iframe
  src="https://iotools.cloud/embed/cbor-encoder-decoder/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="CBOR编码器/解码器 — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

把它放到您自己的页面上——免费,无需密钥,只需保留一个反向链接。

每次调用费用5 积分起

也可通过

喜欢这些工具?去掉广告吧。

一次性付款即可永久移除您账户中的所有广告。无需订阅,不追踪。