Codificador/Decodificador CBOR
Codifique um valor JSON em dados binários CBOR (RFC 8949) como hexadecimal ou Base64, ou decodifique bytes CBOR de volta para JSON. Funciona inteiramente no seu navegador.
Entrada
Saída
Guias
O que é CBOR?
CBOR (Concise Binary Object Representation, RFC 8949) é um formato de dados binário construído sobre o mesmo modelo de dados que JSON — números, strings, arrays, mapas, booleanos e null — mas codificado como bytes compactos em vez de texto. Cada valor é um cabeçalho de tipo curto (tipo principal + comprimento) seguido imediatamente por seu conteúdo, portanto não há pontuação, sem aspas e sem espaço em branco para preenchimento.
É essa compacidade que faz o CBOR aparecer em qualquer lugar onde largura de banda ou custo de análise importa: CoAP (protocolo semelhante a HTTP para dispositivos IoT restritos), COSE (objetos CBOR assinados/criptografados usados em WebAuthn e chaves FIDO2), CWT (Tokens Web CBOR, irmão binário do JWT), armazenamento endereçável por conteúdo do Docker e inúmeros protocolos de mensagens embarcados e de baixa potência. Se JSON é "dados legíveis por humanos na rede," CBOR é o mesmo modelo de dados construído para redes com orçamento de bytes.
Como usar
- Escolha um Modo:
- Codificar JSON → CBOR — cole um valor JSON (um objeto, array, string, número, booleano ou
null) na caixa de entrada. A ferramenta o analisa e o codifica em CBOR, mostrando o resultado como Hex ou Base64 (escolha o formato na lista suspensa). - Decodificar CBOR → JSON — cole bytes CBOR como hex ou Base64; o formato é detectado automaticamente. A ferramenta decodifica os bytes e mostra o valor JSON equivalente, formatado adequadamente.
- Codificar JSON → CBOR — cole um valor JSON (um objeto, array, string, número, booleano ou
- Copie ou baixe o resultado com os botões na caixa de saída.
- O processamento acontece instantaneamente conforme você digita ou alterna modos — não há uma etapa "executar" separada.
Como os valores são mapeados entre JSON e CBOR
- Inteiros são codificados usando a forma mais curta do CBOR: valores 0–23 cabem no byte de cabeçalho único; magnitudes maiores usam comprimento follow-on de 1/2/4/8-byte, escolhido automaticamente. Números negativos usam o tipo principal de inteiro negativo dedicado do CBOR.
- Strings são strings de texto UTF-8 (tipo principal CBOR 3).
- Arrays e objetos mapeiam para arrays e mapas CBOR (tipos principais 4 e 5) — as chaves de objeto são sempre codificadas como strings de texto.
true,false,nullusam a codificação "valor simples" de três bytes do CBOR.- Números não-inteiros (qualquer coisa com um ponto decimal, ou muito grande para ser um inteiro seguro) são codificados como floats de precisão dupla de 8 bytes — essa ferramenta sempre usa precisão dupla em vez dos atalhos de precisão-meia/única opcionais do CBOR, trocando alguns bytes de tamanho por simplicidade e arredondamento sem perda.
- A decodificação também compreende conceitos CBOR que não existem em JSON — strings de byte, tags e valores "simples" — representando-os como espaços reservados amigáveis a JSON (por exemplo, uma string de byte decodifica para
"h'a1b2c3'", uma tag para{"$tag": N, "value": ...}) em vez de falhar.
FAQ
Por que codificar um número simples às vezes muda o tamanho de forma imprevisível? CBOR sempre escolhe o cabeçalho mais curto válido para a magnitude de um inteiro — 10 é um byte, 1000 são três, 100000 são cinco. Isso não é um bug; é o ponto do formato.
Posso decodificar CBOR produzido por outra biblioteca? Sim — a decodificação trata CBOR bem formado arbitrário (qualquer combinação de tipos principais, comprimento definido ou indefinido, tags), não apenas dados que essa ferramenta produziu.
O que acontece com entrada malformada ou truncada? Ambos os modos relatam um erro inline claro (JSON inválido, ou uma descrição exata do que está errado com os bytes CBOR — por exemplo, "Fim inesperado dos dados CBOR") em vez de falhar silenciosamente.
Meus dados são carregados em algum lugar? Não — codificação e decodificação funcionam inteiramente no seu navegador. Nada que você cole é enviado para um servidor.
Mais formas de usar esta ferramenta
API REST
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"
}'Troque pela sua própria chave, da sua conta. Os campos da ferramenta viram o corpo da requisição — sem envelope.
Peça a um agente de IA
Use the IOTools `cbor-encoder-decoder` tool (CBOR Encoder / Decoder) on this input:
YOUR_INPUT_HERECole isto em qualquer agente conectado ao servidor MCP do IOTools e depois adicione sua entrada.
Widget para incorporar
<iframe
src="https://iotools.cloud/embed/cbor-encoder-decoder/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Codificador/Decodificador 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>Coloque isso na sua própria página — grátis, sem chave, só um link de volta.
| Custo por chamada | A partir de 5 créditos |
|---|