DevToys Web Pro iconDevToys Web ProBlog
Avalie-nos:
Experimente a extensão do navegador:

Codec CBOR / MessagePack

Formato:
Direção:
Saída:

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 CBOR (Concise Binary Object Representation) ou no formato binário MessagePack e decodifica cargas binárias de volta para JSON legível por humanos. Ela exibe os bytes hex brutos ao lado da estrutura decodificada, facilitando a inspeção de codificações binárias compactas usadas em ambientes com recursos limitados. Ambas as direções de codificação oferecem suporte a objetos aninhados, arrays e tipos padrão de JSON.

    Casos de Uso Comuns para Desenvolvedores

    Desenvolvedores de IoT usam esta ferramenta para inspecionar cargas CBOR de mensagens CoAP ou tokens assinados com COSE sem escrever código de desserialização. Engenheiros de backend depuram frames de WebSocket codificados em MessagePack, buffers de protocolo do Redis ou cargas de RPC colando dumps hex e visualizando o JSON decodificado. Ela também é útil para comparar tamanhos de payload entre JSON, CBOR e MessagePack para escolher o formato de transmissão mais eficiente para sistemas com largura de banda limitada.

    Formatos de Dados, Tipos ou Variantes

    CBOR (RFC 8949) é um formato binário autodescritivo projetado para pequeno tamanho de código e pequeno tamanho de mensagem, amplamente adotado em padrões de IoT como LwM2M e FIDO2/WebAuthn. MessagePack é uma serialização binária semelhante que busca ser o mais compacta possível, mantendo-se sem esquema, comumente usada por Redis, Fluentd e muitos frameworks de RPC. Ambos os formatos são mais compactos do que JSON, mas sacrificam a legibilidade humana em favor da eficiência.

    Armadilhas Comuns e Casos de Borda

    CBOR oferece suporte a tipos de dados que o JSON não consegue representar nativamente, como strings de bytes, tags e contêineres de comprimento indefinido — fazer round-trip disso via JSON fará com que informações de tipo sejam perdidas. MessagePack distingue entre bytes brutos e strings UTF-8, que o JSON reduz a um único tipo de string. A precisão de inteiros pode diferir: ambos os formatos suportam inteiros de comprimento arbitrário, mas a decodificação em JavaScript pode perder precisão além de Number.MAX_SAFE_INTEGER.

    Quando Usar Esta Ferramenta vs Código

    Use esta ferramenta no navegador para inspeção ad-hoc de cargas binárias capturadas do 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 lidam com streaming, validação de esquema e mapeamento adequado de tipos que uma ferramenta no navegador não consegue oferecer.