Pega aquí una cadena hex o base64 de MessagePack desordenada y luego haz clic en "¡Limpiar!"Pega msgpack desordenado

Lo que realmente hace el Limpiador de MessagePack

Sé honesto contigo mismo por un segundo: MessagePack es un formato binario. Si se truncaron unos bytes al copiar y pegar desde un log de Cloudflare Worker, ninguna herramienta puede traerlos por arte de magia — esos bytes ya no están, y la especificación en github.com/msgpack/msgpack tiene suficientes prefijos de longitud como para que una cola que falte falle al decodificar hagas lo que hagas. Así que esta página NO finge reparar datos binarios corruptos.

Lo que SÍ hace es algo más aburrido pero útil: quita el ruido de formato que los volcados hex y base64 (RFC 4648) recogen al pasar por tu terminal, tu depurador, tu consola de iOS y tu portapapeles. Concretamente, recorta los espacios envolventes, pela las comillas envolventes, desenvuelve literales de bytes b'...' de Python, expande secuencias de escape \xNN en dígitos hex sin formato, elimina prefijos 0x, y descarta comas y espacios dentro del payload. El resultado limpio es lo que un decodificador msgpack real — como la biblioteca oficial @msgpack/msgpack o cualquier implementación conforme — aceptará sin quejarse.

Ejemplo concreto: pega b'\x83\xa7orderId\xa8ORD-7421...' a la izquierda, pulsa Limpiar, obtén la cadena hex sin formato a la derecha que puedes meter directo en nuestro Visor de MessagePack o canalizar a un Uint8Array en un REPL rápido de Node. Nada del otro mundo. Solo quitar el ruido.

Cómo limpiar una cadena MessagePack pegada

Tres pasos. Pensado para ese momento en que acabas de copiar algo de una línea de log y quieres que sea hex que puedas pasar a un decodificador.

1

Pega la cadena desordenada en el panel izquierdo

Mete lo que tengas en el editor de la izquierda — un repr() de Python, una línea de la consola de un dispositivo iOS, la salida de curl --data-binary @file | xxd, una entrada de log de Cloudflare Worker, lo que sea. El limpiador no necesita que entre bonito. Pulsa Hex desordenado de muestra para un ejemplo deliberadamente feo con prefijos y escapes mezclados. Ejemplo de lo que podrías pegar:

b'\x83\xa7orderId\xa8ORD-7421\xa5items\x92\x82\xa3sku\xa7SKU-101\xa3qty\x02\x82\xa3sku\xa7SKU-244\xa3qty\x01\xa8customer\xa8Ava Chen'

Eso es un literal de bytes real de Python impreso por msgpack-python. El limpiador reconoce el envoltorio b'...', se lo quita, y convierte cada \xNN en hex sin formato.

2

Haz clic en Limpiar

Pulsa el botón verde ¡Limpiar!. La limpieza es activada por clic a propósito — deberías ver lo que entra antes de aceptar lo que sale. El panel derecho muestra el hex limpio (o base64, autodetectado), y el panel de notas debajo de los editores lista cada transformación que aplicamos para que nada pase en silencio.

3

Pasa el resultado a un decodificador real

Toma la cadena limpia del panel derecho y mételo en nuestro Visor de MessagePack o herramienta MessagePack a JSON. Si los bytes estaban realmente intactos y solo el formato era el problema, verás tu JSON decodificado — las líneas SKU-101, el cliente Ava Chen, todo. Si el decodificador sigue quejándose, el problema es corrupción real o truncamiento, y el único arreglo es volver a coger los bytes desde la fuente.

Cuándo lo usarás de verdad

Sacar bytes de un log de Cloudflare Worker

Los Workers adoran loguear payloads binarios como 0x83 0xa7 6f 72 64 65 72... con espacios entre bytes y 0x en cada uno. Copia la línea, pégala aquí, y el limpiador quita los prefijos y los espacios en un clic — dejándote con 83a76f7264657249... que un decodificador real se comerá.

Desenvolver un repr de Python desde un depurador

Tocaste un breakpoint en pdb, ejecutaste p msgpack.packb(order), y obtuviste b'\x83\xa7orderId\xa8ORD-7421'. Eso es un literal de bytes de Python — el prefijo b y las comillas no son parte de los datos. El limpiador los pela y expande cada \xNN en el par hex real, así puedes pegar el resultado en el visor sin reescribirlo a mano.

Limpiar un volcado de curl --data-binary | xxd

Ejecutaste curl --data-binary @msg.bin https://api.example.com | xxd para inspeccionar lo que recibió el servidor. La salida de xxd tiene números de línea a la izquierda, ASCII a la derecha, y los bytes hex en el medio con espacios. Quita la columna de dirección y la columna ASCII tú mismo, pega el medio en el limpiador, y elimina los espacios entre bytes para que el hex vuelva a ser una cadena sólida.

Pegar desde una consola de dispositivo iOS

La salida de la consola de iOS a veces envuelve un payload binario en comillas simples e inserta saltos de línea suaves. El limpiador maneja las comillas envolventes y los espacios en una sola pasada, lo que te ahorra jugar a buscar y reemplazar en un editor de texto antes de poder decodificar nada.

Preguntas comunes

¿Puede esta herramienta reparar datos binarios corruptos de MessagePack?

No, y deberías sospechar de cualquier herramienta que afirme que puede. MessagePack es un formato binario con prefijo de longitud — si falta un byte o está mal en medio de un campo de longitud, el decodificador no puede adivinar lo que se suponía que había ahí. Esta página solo arregla artefactos de copiado y ruido de formato. Si tus bytes están realmente corruptos, el arreglo es volver a cogerlos desde la fuente: re-ejecutar la petición, releer del almacén de retención de logs, re-exportar de la base de datos. No hay sustituto de software para los bytes que faltan.

¿Qué significa exactamente "limpiar" aquí?

Seis normalizaciones concretas: recorta los espacios envolventes; pela las comillas simples o dobles envolventes; desenvuelve literales de bytes b'...' / b"..." de Python; expande secuencias de escape \xNN en dígitos hex sin formato; quita los prefijos 0x de cada byte; elimina espacios y comas entre bytes. Después de todo eso, el resultado se parsea una vez como hex o base64 para confirmar que es estructuralmente sólido. El panel de notas debajo de los editores lista cada transformación que se disparó realmente sobre tu entrada.

¿Por qué hay un botón Limpiar en lugar de auto-limpieza al escribir?

A propósito. La mayoría de nuestras otras herramientas se actualizan automáticamente al cambiar la entrada porque la entrada es legible para humanos y quieres feedback instantáneo. Esta es lo opuesto — la entrada es un montón de secuencias de escape y tu objetivo es verificar qué se transformó antes de confiar en la salida. Activado por clic significa que puedes pegar, mirar la entrada, hacer clic, y luego leer el panel de notas para confirmar que hicimos lo que esperabas.

¿Salen mis datos del navegador?

No. Toda la limpieza corre localmente en esta pestaña. No hay fetch, ni subida, ni telemetría sobre la entrada. Cierra la pestaña y los datos se han ido. Dicho esto, trata la barra de URL como un espacio público — no pegues payloads con secretos en una query string, y limpia tu portapapeles si llevaba algo sensible cuando termines.

¿Y si mi entrada es base64 en lugar de hex?

Se autodetecta. Si la entrada es toda caracteres hex (después de quitar espacios, comas, 0x, y escapes \xNN) y de longitud par, la tratamos como hex. Si no, probamos base64 estándar. De cualquier manera, la salida limpia preserva el formato detectado — hex limpio sigue siendo hex, base64 limpio sigue siendo base64. Mete el resultado en el Visor de MessagePack a continuación, que autodetecta de la misma forma.

¿Por qué a veces la salida se ve idéntica a la entrada?

Porque tu entrada ya estaba limpia — nada que hacer. En ese caso el panel de notas muestra "La entrada ya estaba limpia." Esto es normal y bueno. El limpiador no va a inventar transformaciones solo para parecer ocupado.

Otras herramientas de MessagePack

Limpiar el formato es el primer paso. Una vez que la cadena está limpia, estas decodifican y dan la vuelta completa a los bytes: