Decodificador CBOR (notação diagnóstica)
Desenvolvimento
CBOR (Representação Concisa de Objetos Binários, RFC 8949) é um formato binário compacto usado por WebAuthn/FIDO2, COSE, o trabalho de certificados C509 e muitos protocolos IoT — mas como bytes brutos é ilegível. Cole os bytes como hex ou base64 e esta ferramenta os decodifica para notação diagnóstica CBOR, a forma legível padrão da especificação: inteiros e bignums, strings de bytes como h'…', strings de texto, arrays e mapas aninhados, valores com tag como 0("2013-03-21T20:04:00Z"), os valores simples false/true/null/undefined, floats half/single/double e strings, arrays e mapas de comprimento indefinido escritos com o marcador _. Valida durante o processo e sinaliza entrada truncada ou bytes sobrando após o primeiro item de dados. O decodificador é verificado contra toda a tabela de exemplos do Apêndice A do RFC 8949. Tudo roda localmente; nada é enviado.
Erro de decodificação CBOR: unexpected end of input
A saída é notação diagnóstica do RFC 8949: strings h'…', 1 vs 1.0, tag(conteúdo) e _ para comprimento indefinido.
Como usar
- Escolha se sua entrada é hex ou base64 (base64url também é aceito).
- Cole os bytes CBOR.
- Leia a notação diagnóstica decodificada e copie-a.
Perguntas frequentes
- O que é notação diagnóstica?
- É a forma de texto legível de um item CBOR definida no RFC 8949 §8 — parecida com JSON, mas capaz de expressar tudo o que o CBOR pode: strings de bytes como h'…', inteiros versus floats (1 vs 1.0), tags como número(conteúdo), os valores simples undefined e simple(n), e itens de comprimento indefinido com um sublinhado, ex. [_ 1, 2]. É a forma padrão de mostrar o que um blob CBOR contém.
- Como obtenho o hex de um valor CBOR?
- Qualquer coisa que emita CBOR te dá bytes: um attestationObject de WebAuthn, uma COSE_Key ou COSE_Sign1, um quadro de sensor IoT, etc. Capture esses bytes e cole como hex (com ou sem espaços ou prefixo 0x) ou base64. A ferramenta ignora espaços e aceita base64url.
- Por que mostra 1 e 1.0 de forma diferente?
- CBOR distingue inteiros de números de ponto flutuante no nível dos bytes, e a notação diagnóstica preserva isso: o inteiro um é 1, enquanto o float é 1.0. Floats de meia precisão (2 bytes), simples (4) e duplo (8) decodificam para seu valor exato, incluindo NaN e ±Infinity.
- O que significam os 'bytes sobrando'?
- Uma mensagem CBOR é um único item de dados. Se houver bytes extras após o primeiro item completo, a ferramenta os reporta em vez de ignorá-los silenciosamente — geralmente significa que a entrada é uma sequência de itens, foi truncada no meio, ou o formato (hex vs base64) está errado.
Ferramentas relacionadas
Conversor de Base64 para hexadecimal (e volta)
Converta uma string Base64 em bytes hexadecimais e hex de volta para Base64, com suporte URL-safe, no seu navegador.
Codificador e Decodificador Quoted-Printable
Codifique texto para MIME Quoted-Printable (RFC 2045) ou decodifique — com escapes =XX, quebras de linha suaves e UTF-8 — tudo no seu navegador, com quebra de linha em 76 caracteres ao codificar.
Gerador de Hash (SHA)
Gere hashes SHA-1, SHA-256, SHA-384 e SHA-512 a partir de texto.
Codificador / Decodificador de URL
Codifique texto para URLs em porcentagem, ou decodifique URLs em texto.
Codificador / Decodificador Base64
Codifique texto em Base64 ou decodifique Base64 de volta em texto.
Formatador e Validador de JSON
Formate, embeleze, minifique e valide JSON no seu navegador.