Codificar/Decodificar Hexadecimal (Binario)
Procesamiento 100% del lado del cliente (sin subida al servidor). Convierte archivos binarios a texto Hex (plano, 0x…, C \xHH, o %HH) y decodifica texto Hex de vuelta a un archivo con validación estricta, manejo de separadores y formato de salida predecible.
Características
- Procesamiento 100% del lado del cliente (sin subida al servidor).
- Sube y procesa por lotes múltiples archivos mediante una zona de soltar (habilitado para múltiples archivos).
- Dos acciones: Codificar archivo → texto Hex, o Decodificar texto Hex → archivo.
- Formatos de salida Hex: plano (deadbeef), prefijo 0x…, escape C (\xHH), y porcentaje (%HH).
- Control de mayúsculas/minúsculas: dígitos hexadecimales en minúsculas o mayúsculas.
- Separadores de bytes para legibilidad: ninguno, espacio, dos puntos (:), guion (-), guion bajo (_), coma (,).
- Ajuste de línea solo para codificación: ajustar bytes por línea (0 desactiva el ajuste) + separador de línea seleccionable (LF o CRLF).
- Alternancias solo para codificación: insertar nueva línea final; opcional 0x por byte (0xDE 0xAD …) para salida estilo 0x.
- Controles de análisis solo para decodificación: aceptar prefijo 0x, aceptar escapes \xHH, aceptar codificación %HH, permitir separadores/espacios en blanco, ignorar caracteres no hexadecimales, y manejo de longitud impar (error o rellenar a la izquierda con 0).
- Modo de validación estricta para rechazar entradas mal formadas temprano en lugar de análisis de mejor esfuerzo.
Cómo usar for hex-binary-encoder
Suelta un archivo o pega texto Hex
Para codificar, suelta uno o más archivos binarios en la zona de soltar. Para decodificar, pega texto Hex en el editor de salida (o suelta un archivo .hex/.txt que contenga Hex).
Elige la acción y ejecuta
Selecciona la Acción: "Codificar archivo → Hex" o "Decodificar Hex → archivo", luego haz clic en el botón correspondiente (Codificar/Decodificar). Configura las opciones según sea necesario: formato (plano/0x/\xHH/%HH), mayúsculas/minúsculas, separadores, ajuste de línea + separador de línea (codificar), o alternancias de aceptación + manejo de separadores + reglas de longitud impar (decodificar).
Copia o descarga el resultado
Si codificaste, copia el texto Hex generado desde el editor o descárgalo como una salida de texto. Si decodificaste, descarga el archivo binario reconstruido (la herramienta elimina un sufijo .hex cuando es posible y recurre a .bin).
Especificaciones técnicas
Modelo de Ejecución
Esta herramienta se ejecuta completamente en tu navegador y no sube tu entrada a un servidor.
| Aspecto | Detalle |
|---|---|
| Tiempo de ejecución | Procesamiento 100% del lado del cliente (sin subida al servidor). |
| Alcance de la acción | Codificar (archivo binario → texto Hex) y Decodificar (texto Hex → archivo binario) en la misma página. |
| Entrada | Codificar: binario (Archivo/Blob/Uint8Array/ArrayBuffer/TypedArray). Decodificar: texto (Cadena hexadecimal con tokens y separadores opcionales). |
| Salida | Codificar: texto (Hex). Decodificar: bytes (archivo binario descargable). |
| Límites | ~1–2MB de caracteres; ~25000 ms de tiempo de espera |
| Retención | Todo el procesamiento ocurre localmente en tu navegador (sin subida) |
Ejemplo Mini
Pequeños ejemplos para ilustrar ambas acciones y formatos comunes.
Codificar (bytes binarios): 48 65 6c 6c 6f 0a
Salida (plano, minúsculas): 48656c6c6f0a
Decodificar (texto Hex): 48 65 6c 6c 6f 0a
Resultado (bytes del archivo): 48 65 6c 6c 6f 0a
Errores y Casos Límite
Fallos típicos al convertir entre texto hexadecimal y bytes en bruto, y cómo las opciones de la interfaz influyen en ellos.
| Síntoma | Causa probable | Qué revisar |
|---|---|---|
| Codificar pide subir un archivo | Proporcionaste entrada de texto a la acción de codificar | Esta herramienta codifica datos binarios. Cambia a Decodificar para entrada de texto hexadecimal, o sube un archivo/bytes para Codificar. |
| Error de decodificación: hexadecimal inválido / tokens malformados | La entrada contiene caracteres no hexadecimales o un estilo de token que deshabilitaste | Habilita "Aceptar prefijo 0x" / "Aceptar escapes \xHH" / "Aceptar codificación %HH" según corresponda; decide si permitir separadores/espacios en blanco. |
| La decodificación falla en separadores o espacios en blanco | Hay separadores presentes pero no permitidos (o el modo estricto los rechaza) | Habilita "Permitir separadores/espacios en blanco"; si quieres análisis estricto, mantén "Ignorar caracteres no hexadecimales" desactivado y confía en la aceptación explícita de tokens. |
| Número impar de dígitos hexadecimales | Flujo hexadecimal truncado o falta un nibble | Configura "Dígitos hexadecimales impares" a "Error" para fallar rápido, o "Rellenar a la izquierda con 0" si aceptas intencionalmente entradas de longitud impar. |
| Tamaño de salida inesperado o bytes no coincidentes | Ignorar caracteres no hexadecimales eliminó caracteres significativos, o el modo estricto está desactivado y el análisis es de mejor esfuerzo | Usa "Validación estricta" cuando la corrección importe; deshabilita "Ignorar caracteres no hexadecimales" si esperas solo tokens bien formados. |
| El ajuste de línea/saltos de línea de la salida no es lo que esperas (codificar) | Las configuraciones de bytesPorLínea, separador de línea o nueva línea final están habilitadas | Configura "Ajustar bytes por línea" a 0, elige LF vs CRLF, y activa/desactiva "Insertar nueva línea final" según sea necesario. |
Alternativas de línea de comandos
Para automatización, CI o datos sensibles, prefiere herramientas locales de línea de comandos. Los ejemplos a continuación son canónicos y comúnmente disponibles.
Linux/macOS
Codificar un archivo a hexadecimal plano (xxd)
xxd -p -c 256 input.bin > output.hex.txtImprime el archivo como hexadecimal plano (sin tokens 0x/\x). Usa -c para controlar el ancho de línea.
Decodificar hexadecimal plano de vuelta a un archivo (xxd)
xxd -r -p output.hex.txt > restored.binRevierte el hexadecimal plano a bytes crudos. Si tu texto hexadecimal contiene separadores o prefijos, normalízalo primero.
Node.js
Codificar un archivo a hexadecimal (Node Buffer)
node -e "const fs=require('fs');const b=fs.readFileSync('input.bin');process.stdout.write(b.toString('hex'))" > output.hex.txtGenera hexadecimal continuo en minúsculas. Añade tu propio formato si necesitas separadores o saltos de línea.
Decodificar texto hexadecimal plano a un archivo (Node Buffer)
node -e "const fs=require('fs');const hex=fs.readFileSync('output.hex.txt','utf8').trim();fs.writeFileSync('restored.bin',Buffer.from(hex,'hex'));"Analiza solo hexadecimal plano. Elimina tokens 0x/\x/% y separadores antes de decodificar.
Casos de uso
Depuración de cargas útiles binarias
- Convertir un archivo binario pequeño en hexadecimal legible para informes de errores y revisión
- Comparar dos salidas binarias convirtiendo ambas a una representación hexadecimal normalizada
Interoperabilidad entre herramientas
- Generar hexadecimal con prefijo 0x o delimitado por separadores para cumplir con las expectativas de herramientas posteriores
- Decodificar volcados hexadecimales que incluyen tokens estilo C \xHH o bytes estilo porcentaje %HH
Fixtures de CI y vectores de prueba
- Almacenar fixtures binarios pequeños como texto hexadecimal para facilitar las diferencias en revisiones de código
- Usar validación estricta para fallar rápidamente cuando las entradas de prueba están malformadas
Enseñanza de bytes y representaciones
- Mostrar cómo los mismos bytes pueden representarse como hexadecimal plano, tokens con prefijo 0x o escapes \xHH
- Demostrar por qué los separadores y el manejo de longitud impar son decisiones explícitas de análisis
❓ Frequently Asked Questions
¿Hay una API pública?
API pública.¿El procesamiento es local o remoto?
¿Puedo usar esto para secretos (claves API, credenciales, archivos propietarios)?
¿Por qué falla la decodificación con "hexadecimal inválido" o "entrada malformada"?
Pro Tips
Para comparaciones estables, codifica con un formato fijo (simple), un caso fijo y sin separadores; luego añade separadores/envolturas solo para legibilidad.
Al decodificar volcados de código o registros, activa las opciones de aceptación de tokens que esperas (0x, \xHH, %HH) y permite separadores/espacios en blanco para evitar limpieza manual.
Usa "Validación estricta" (y considera desactivar "Ignorar caracteres no hexadecimales") cuando la corrección importa más que la recuperación de mejor esfuerzo.
Mantén las entradas por debajo de ~1–2MB y usa herramientas CLI locales para archivos grandes o pipelines de CI para evitar límites/tiempos de espera del navegador.
Additional Resources
Other Tools
- Embellecedor CSS
- Embellecedor HTML
- Embellecedor JavaScript
- Embellecedor PHP
- Selector de Color
- Extractor de Sprites
- Codificador Binario Base32
- Decodificador Base32
- Codificador Base32
- Codificador Binario Base58
- Decodificador Base58
- Codificador Base58
- Codificador Binario Base62
- Decodificador Base62
- Codificador Base62
- Codificador Binario Base64
- Decodificador Base64
- Codificador Base64
- Decodificador Hexadecimal
- Codificador Hexadecimal
- Formateador C#
- Formateador CSV
- Dockerfile Formatter
- Formateador Elm
- Formateador ENV
- Formateador Go
- Formateador GraphQL
- Formateador HCL
- Formateador INI
- Formateador JSON
- Formateador LaTeX
- Formateador Markdown
- Formateador Objective-C
- Php Formatter
- Formateador Proto
- Formateador Python
- Formateador Ruby
- Formateador Rust
- Formateador Scala
- Formateador de Scripts de Shell
- Formateador SQL
- Formateador SVG
- Formateador Swift
- Formateador TOML
- Typescript Formatter
- Formateador XML
- Formateador YAML
- Formateador Yarn
- Minificador CSS
- Html Minifier
- Javascript Minifier
- Minificador JSON
- Minificador XML
- Visor de Encabezados HTTP
- PDF a Texto
- Probador de Expresiones Regulares
- Verificador de Posición en SERP
- Consulta Whois