Kodierung bewusst wählen
Hex ist voreingestellt und akzeptiert Leerzeichen, Doppelpunkte und 0x. Für Base64 musst du umschalten. Kurze Zeichenfolgen können in beiden Formaten gültig sein.
Binärdaten nachvollziehen
Prüfe zuerst die Wire-Bytes; ergänze eine eigenständige .proto-Datei nur für deklarierte Namen und Typen.
Bytes und Schema bleiben zur Verarbeitung in diesem Browser.
Wire-Nachricht oder Varint eingeben.
Ein Protobuf-Decoder hilft, wenn aus einem Log nur noch rohe Bytes vorliegen. Auch ohne .proto-Datei kannst du Feldnummern, Wire-Typen und die exakten Grenzen jedes Werts sehen.
Das Protobuf Wire-Format kennt jedoch keine ursprünglichen Feldnamen. Ein längenbegrenzter Bereich kann Text, rohe Bytes, eine eingebettete Nachricht oder gepackte Zahlen enthalten. Die Anzeige nennt Möglichkeiten, keine erfundenen Gewissheiten.
Jede Deutung bleibt mit den Originalbytes verknüpft.
Der Protobuf-Decoder zeigt für jeden Eintrag nullbasierte Start- und End-Offsets, Wire-Typ und Original-Hex. Bei einer abgeschnittenen Länge markiert er die betreffende Position.
Füge eine eigenständige .proto ein und wähle den Nachrichtentyp. Das typisierte JSON erscheint zusätzlich zur rohen Wire-Ansicht; so bleiben Feldnummer und Quelle jedes Namens überprüfbar.
Hex ist voreingestellt und akzeptiert Leerzeichen, Doppelpunkte und 0x. Für Base64 musst du umschalten. Kurze Zeichenfolgen können in beiden Formaten gültig sein.
Wire-Typ 0 kann int, bool oder enum bedeuten; Wire-Typ 2 kann Text, Bytes, eingebettete Nachrichten oder packed Werte tragen. Erst die .proto legt den deklarierten Typ fest.
Die automatische Prüfung wartet 350 ms. Nach dem Abschalten startet Strg/Cmd + Enter. Jede Änderung macht das bisherige Ergebnis veraltet und sperrt Kopieren sowie Download.
Der Protobuf-Decoder liest varint, fixed64, längenbegrenzte und fixed32-Felder. Abgeschnittene Werte und veraltete group-Tags führen zu einem Fehler an der Byteposition.
Mit dem Varint-Werkzeug kannst du uint64 dekodieren und Dezimalzahlen wieder kodieren. Eine ausdrückliche ZigZag-Wahl liefert sint64; BigInt verhindert Rundung durch JavaScript Number.
Ein lokal eingefügtes, in sich geschlossenes Schema benennt Felder und dekodiert Wiederholungen und Unternachrichten. Scheitert es, bleibt die rohe Wire-Ansicht verfügbar.
Der Export formatiert die eingegebenen Bytes neu, statt eine erratene Nachricht erneut zu serialisieren. Damit lässt sich das Ergebnis direkt mit dem Mitschnitt vergleichen.
Ja, für Struktur, Feldnummern, Wire-Typen, Offsets und Rohwerte. Die ursprünglichen Namen und deklarierten Typen brauchen eine passende .proto.
Die niedrigen drei Bits eines Tags bestimmen die Speicherform des folgenden Werts. Sie verraten nicht alle fachlichen Typinformationen.
Wähle Hex für Ziffernpaare und Base64 für einen entsprechend kodierten Mitschnitt. Das Werkzeug rät das Format absichtlich nicht.
Eine identische Bitfolge kann als unsigned oder als ZigZag-kodierter signed Wert gelesen werden. Der deklarierte Typ entscheidet.
Nein. Bytes und optionales Schema werden in diesem Browser verarbeitet; das Werkzeug sendet sie nicht an einen Server.
Eine unterstützte Definition bereitet Probleme?
Nutze den Protobuf-Decoder erneut, wenn ein Mitschnitt erklärt werden muss. Halte Byte-Offsets und Roh-Hex neben der passenden .proto bereit.