DevToys Web Pro iconDevToys Web ProBlogg
Vurder oss:
Prøv nettleserutvidelsen:

Protobuf-dekoder / -enkoder

Dekodet
Format:

Base64-kodet protobuf

  • Dekodede felt (2)

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

    Slik fungerer Protobuf-dekoderen

    Hva verktøyet gjør

    Protobuf-dekoderen parser rå Protocol Buffer-binærdata uten å kreve en .proto-skemafil, og viser wire-formatets feltnumre, typer og verdier. Den støtter også å enkode JSON tilbake til protobuf-binær når du oppgir en .proto-definisjon. Dette gjør det mulig å inspisere ugjennomsiktige protobuf-payloads fanget fra nettverkstrafikk eller lagret i databaser uten tilgang til det opprinnelige skjemaet.

    Vanlige bruksområder for utviklere

    Backend-utviklere bruker skjemaløs protobuf-dekoding til å reverse-engineere udokumenterte gRPC-API-er, feilsøke serialiserte meldinger i Kafka-topics eller inspisere binære payloads i databasekolonner. Sikkerhetsforskere analyserer protobuf-kodet nettverkstrafikk under penetrasjonstesting. Enkodingsmodusen hjelper utviklere med å verifisere at .proto-definisjonene deres produserer forventet binærutdata før de ruller ut skjemaringer til produksjonstjenester.

    Dataformater, typer eller varianter

    Protocol Buffers bruker et kompakt wire-format med fem wire-typer: varint (int32, int64, bool, enum), 64-bit fast (double, fixed64), lengdeavgrenset (string, bytes, innebygde meldinger, pakkede repeterte felt), 32-bit fast (float, fixed32) og foreldede start/slutt-gruppetyper. Uten et skjema kan dekoderen ikke skille mellom en streng og en innebygd melding (begge er lengdeavgrensede), så den forsøker begge tolkningene og viser den mest sannsynlige parsingen.

    Vanlige fallgruver og kanttilfeller

    Skjemaløs dekoding er i seg selv tvetydig — en varint kan være en signert int32 (zigzag), en usignert uint32 eller en boolsk verdi, og lengdeavgrensede felt kan være strenger, bytes eller nestede meldinger. Feltnavn går tapt i binærkoding og vises kun som numeriske felttagger. Pakkede repeterte felt ser identiske ut med et enkelt bytes-felt uten skjemakontekst. Kryssjekk alltid dekodet output mot tilgjengelig dokumentasjon for å løse tvetydigheter.

    Når du bør bruke dette verktøyet vs. kode

    Bruk dette nettleserverktøyet for rask inspeksjon av innsamlede protobuf-payloads når du mangler .proto-filen eller vil verifisere koding uten å sette opp en build-toolchain. For produksjonssystemer, bruk protoc med riktige skjemafiler, språkspesifikk generert kode og gRPC-refleksjonstjenester som gir full typesikkerhet, fremoverkompatibilitet og integrasjon med applikasjonens byggesystem.