Decodificador de Protobuf Online

Decodifica un mensaje binario de Protocol Buffers sin el esquema .proto, en tu navegador. Tus bytes se quedan en tu dispositivo.

Tus bytes de protobuf se decodifican localmente en tu navegador y nunca se suben, pero evita pegar mensajes que contengan secretos reales o datos personales en cualquier herramienta.

¿Necesitas decodificar un JWT? Prueba el Decodificador de JWT.

Acerca de Decodificador de Protobuf

Este decodificador de protobuf lee un mensaje binario de Protocol Buffers directamente de sus bytes, sin requerir un archivo .proto. Pega el payload en hex o base64 y el decodificador recorre el formato de cable en crudo: lee cada tag para recuperar el número de campo y el tipo de cable, luego interpreta el valor. Los varints se muestran como lecturas int64, uint64 y zig-zag; los campos fixed64 y fixed32 exponen sus vistas de entero, double y float; y los campos delimitados por longitud se prueban primero como mensajes anidados, luego como texto UTF-8 y luego como bytes hex en crudo. El resultado se representa como un árbol de campos con sangría, con los campos repetidos agrupados bajo el mismo número. Está hecho para ingenieros que depuran tráfico gRPC, paquetes capturados o blobs proto opacos de los registros. Todo se ejecuta en tu navegador, así que los bytes que pegas se decodifican localmente y nunca salen de tu dispositivo.

Características

Cómo usar Decodificador de Protobuf

  1. Copia tu payload de protobuf como una cadena hex o base64.
  2. Pégalo en el cuadro del mensaje Protobuf.
  3. Deja el formato en Auto, o elige Hex o Base64 si la detección es incorrecta.
  4. Lee el árbol de campos decodificado, expandiendo los mensajes anidados para inspeccionar los valores.

Ejemplo

Entrada

08 96 01 12 07 74 65 73 74 69 6e 67

Salida

#1  varint   wire 0   150
#2  string   wire 2   "testing"

El campo 1 es un varint (150) y el campo 2 es una cadena UTF-8 delimitada por longitud.

Errores comunes y solución de problemas

Preguntas frecuentes

¿Puedo decodificar protobuf sin el archivo .proto?
Sí. Este decodificador de protobuf lee el formato de cable en crudo, así que recupera cada número de campo, tipo de cable y valor directamente de los bytes. Sin el esquema no puede saber los nombres de campo originales ni si un número se pensó como un valor con signo, sin signo o enum, así que muestra las interpretaciones plausibles lado a lado.
¿Qué significan los tipos de cable de protobuf?
Cada tag de campo codifica un tipo de cable: 0 es un varint (ints, bools, enums), 1 es fixed64 (sfixed64, double), 2 es delimitado por longitud (cadenas, bytes y mensajes anidados) y 5 es fixed32 (sfixed32, float). El decodificador etiqueta cada campo con su tipo de cable para que puedas mapearlo de vuelta a la definición de origen.
¿Debería pegar el protobuf como hex o base64?
Cualquiera funciona. Deja el conmutador en Auto y la herramienta detecta el formato; el hex limpio (pares de dígitos hex, con espacios, dos puntos o prefijos 0x opcionales) se lee como hex y todo lo demás se trata como base64, incluido el base64 seguro para URL. Cambia el conmutador manualmente si tus datos son ambiguos.
¿Por qué un varint se muestra como varios números diferentes?
Un varint de protobuf puede representar un int64, un uint64 o un sint64 codificado en zig-zag, y el formato de cable no registra cuál. El decodificador imprime todos, más una lectura booleana para 0 y 1, para que puedas elegir la interpretación que coincida con tu esquema.
¿El payload decodificado se sube a algún lugar?
No. La decodificación de protobuf se ejecuta por completo en tu navegador usando un analizador de formato de cable en JavaScript puro, así que los bytes que pegas se procesan en tu dispositivo y nunca se envían a un servidor.

Herramientas relacionadas

Todas las herramientas de ArrayKit