Codec CBOR / MessagePack
Entrada JSON
Saída Hex
Detalhes técnicos
Como Funciona o Conversor de CBOR e MessagePack
O Que a Ferramenta Faz
Esta ferramenta codifica dados JSON em formatos binários CBOR (Concise Binary Object Representation) ou MessagePack e descodifica payloads binários de volta para JSON legível por humanos. Apresenta os bytes hex em bruto lado a lado com a estrutura descodificada, facilitando a inspeção de codificações binárias compactas usadas em ambientes com recursos limitados. Ambas as direções de codificação suportam objetos aninhados, arrays e tipos JSON padrão.
Casos de Uso Comuns para Programadores
Programadores de IoT usam esta ferramenta para inspecionar payloads CBOR de mensagens CoAP ou tokens assinados com COSE sem escrever código de desserialização. Engenheiros de backend depuram frames WebSocket codificados em MessagePack, buffers de protocolo do Redis ou payloads RPC colando dumps hex e visualizando o JSON descodificado. Também é útil para comparar tamanhos de payload entre JSON, CBOR e MessagePack, para escolher o formato de transporte mais eficiente para sistemas com largura de banda limitada.
Formatos, Tipos ou Variantes de Dados
CBOR (RFC 8949) é um formato binário auto-descritivo concebido para um tamanho de código reduzido e um tamanho de mensagem reduzido, amplamente adotado em normas de IoT como LwM2M e FIDO2/WebAuthn. MessagePack é uma serialização binária semelhante que procura ser o mais compacta possível, mantendo-se sem esquema, sendo comummente usada pelo Redis, Fluentd e muitos frameworks de RPC. Ambos os formatos são mais compactos do que JSON, mas sacrificam a legibilidade humana em prol da eficiência.
Erros Comuns e Casos Limite
O CBOR suporta tipos de dados que o JSON não consegue representar nativamente, como strings de bytes, tags e contentores de comprimento indefinido — fazer round-trip destes através de JSON fará perder informação de tipo. O MessagePack distingue entre bytes em bruto e strings UTF-8, que o JSON colapsa num único tipo de string. A precisão de inteiros pode diferir: ambos os formatos suportam inteiros de comprimento arbitrário, mas a descodificação para JavaScript pode perder precisão para além de Number.MAX_SAFE_INTEGER.
Quando Usar Esta Ferramenta vs Código
Use esta ferramenta no browser para inspeção ad-hoc de payloads binários capturados de tráfego de rede, depuração de mensagens de dispositivos IoT ou para comparar rapidamente tamanhos de codificação. Para serialização em produção no código da aplicação, use bibliotecas dedicadas como cbor2 (Python), cbor-x (Node.js) ou msgpack para a sua linguagem, que tratam de streaming, validação de esquema e mapeamento correto de tipos, algo que uma ferramenta no browser não consegue fornecer.