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

Protobuf-dekoder / -enkoder

Afkodet
Format:

Base64-kodet protobuf

  • Afkodede felter (2)

  • Felt #Wire-typeVærdi
    1Varint(0)150
    2Length-delimited(2)testing
    Tekniske detaljer

    Sådan fungerer Protobuf-dekoderen

    Hvad værktøjet gør

    Protobuf-dekoderen parser rå Protocol Buffer-binærdata uden at kræve en .proto-skema-fil og viser wire-formatets feltnumre, typer og værdier. Den understøtter også at enkode JSON tilbage til protobuf-binær, når du angiver en .proto-definition. Det gør det muligt at inspicere uigennemsigtige protobuf-payloads opsamlet fra netværkstrafik eller gemt i databaser uden adgang til det oprindelige skema.

    Almindelige anvendelsestilfælde for udviklere

    Backend-udviklere bruger skemaløs protobuf-dekodning til at reverse-engineere udokumenterede gRPC-API'er, debugge serialiserede beskeder i Kafka-topics eller inspicere binære payloads i databasekolonner. Sikkerhedsforskere analyserer protobuf-kodet netværkstrafik under penetrationstest. Enkodningstilstanden hjælper udviklere med at verificere, at deres .proto-definitioner producerer det forventede binære output, før de udruller skemaændringer til produktionsservices.

    Dataformater, typer eller varianter

    Protocol Buffers bruger et kompakt wire-format med fem wire-typer: varint (int32, int64, bool, enum), 64-bit fixed (double, fixed64), length-delimited (string, bytes, indlejrede beskeder, pakkede gentagne felter), 32-bit fixed (float, fixed32) samt forældede start/end group-typer. Uden et skema kan dekoderen ikke skelne mellem en streng og en indlejret besked (begge er length-delimited), så den forsøger begge fortolkninger og viser den mest sandsynlige parsing.

    Almindelige faldgruber og kanttilfælde

    Dekodning uden skema er i sagens natur tvetydig — en varint kan være en signed int32 (zigzag), unsigned uint32 eller en boolesk værdi, og længdeafgrænsede felter kan være strenge, bytes eller indlejrede beskeder. Feltnavne går tabt i binær kodning og fremgår kun som numeriske felttags. Pakkede gentagne felter ser identiske ud med et enkelt bytes-felt uden skemakontekst. Krydstjek altid det dekodede output med al tilgængelig dokumentation for at afklare tvetydigheder.

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

    Brug dette browserværktøj til hurtig inspektion af opsnappede protobuf-payloads, når du mangler .proto-filen eller vil verificere kodningen uden at sætte en build-toolchain op. Til produktionssystemer bør du bruge protoc med korrekte skemafiler, sprogspecifik genereret kode og gRPC-refleksionstjenester, der giver fuld typesikkerhed, fremadkompatibilitet og integration med din applikations buildsystem.