DevToys Web Pro iconDevToys Web ProBlog
Bedøm os:
Prøv browserudvidelsen:

CBOR / MessagePack-codec

Format:
Retning:
Output:

JSON-input

  • Hex-output

  • Tekniske detaljer

    Sådan fungerer CBOR- og MessagePack-konverteren

    Hvad værktøjet gør

    Dette værktøj koder JSON-data til CBOR (Concise Binary Object Representation) eller MessagePack-binærformater og afkoder binære payloads tilbage til menneskeligt læsbar JSON. Det viser de rå hex-bytes side om side med den afkodede struktur, hvilket gør det nemt at inspicere kompakte binære kodninger, der bruges i ressourcebegrænsede miljøer. Begge kodningsretninger understøtter indlejrede objekter, arrays og standard JSON-typer.

    Almindelige anvendelsestilfælde for udviklere

    IoT-udviklere bruger dette værktøj til at inspicere CBOR-payloads fra CoAP-beskeder eller COSE-signerede tokens uden at skrive deserialiseringskode. Backend-ingeniører fejlsøger MessagePack-kodede WebSocket-frames, Redis-protokolbuffere eller RPC-payloads ved at indsætte hex-dumps og se den afkodede JSON. Det er også nyttigt til at sammenligne payload-størrelser mellem JSON, CBOR og MessagePack for at vælge det mest effektive wire-format til båndbreddebegrænsede systemer.

    Dataformater, typer eller varianter

    CBOR (RFC 8949) er et selvbeskrivende binært format, der er designet til lille kodestørrelse og lille beskedstørrelse, og som er bredt adopteret i IoT-standarder som LwM2M og FIDO2/WebAuthn. MessagePack er en lignende binær serialisering, der sigter mod at være så kompakt som muligt, samtidig med at den forbliver schema-fri, og som ofte bruges af Redis, Fluentd og mange RPC-frameworks. Begge formater er mere kompakte end JSON, men ofrer menneskelig læsbarhed for effektivitet.

    Almindelige faldgruber og kanttilfælde

    CBOR understøtter datatyper, som JSON ikke kan repræsentere nativt, såsom byte-strenge, tags og containere med ubestemt længde — at round-trippe disse gennem JSON vil miste typeinformation. MessagePack skelner mellem rå bytes og UTF-8-strenge, som JSON samler til én enkelt strengtype. Heltalspræcision kan variere: begge formater understøtter heltal med vilkårlig længde, men afkodning til JavaScript kan miste præcision ud over Number.MAX_SAFE_INTEGER.

    Hvornår du skal bruge dette værktøj vs. kode

    Brug dette browserværktøj til ad-hoc-inspektion af binære payloads, der er opsamlet fra netværkstrafik, fejlsøgning af IoT-enhedsbeskeder eller hurtig sammenligning af kodningsstørrelser. Til produktionsserialisering i applikationskode bør du bruge dedikerede biblioteker som cbor2 (Python), cbor-x (Node.js) eller msgpack til dit sprog, som håndterer streaming, skemavalidering og korrekt type-mapping, som et browserværktøj ikke kan levere.