Hex Codificar y Decodificar
Herramienta gratuita de Hex Codificar y Decodificar en línea. Procesamiento 100% local — tus datos nunca salen de tu dispositivo.
El resultado se mostrará aquí...
Entrada → Codificar
Usage Guide
Acerca de Hex (Hexadecimal)
Hex (Hexadecimal) es un método de codificación que utiliza 16 caracteres (0-9, A-F) para representar datos binarios. Cada carácter hexadecimal representa 4 bits binarios (0-15), por lo que cada byte (8 bits) puede representarse con 2 caracteres hexadecimales. Los datos codificados en Hex ocupan el 200% del tamaño original, más que Base64, pero son más legibles y fáciles de depurar. Hex se usa ampliamente en códigos de color, direcciones MAC, valores hash, direcciones de memoria y otros escenarios, siendo uno de los métodos de codificación más utilizados por los programadores.
Pasos de uso
La codificación y decodificación Hex es muy sencilla:
Principio de codificación
La codificación Hex convierte datos binarios a caracteres hexadecimales mediante el siguiente proceso:
0xFF (255) se codifica como “FF”, el byte 0x41 (65, carácter 'A') se codifica como “41”. La cadena “Hello” se codifica como “48656C6C6F”.Variantes del formato Hex
La codificación Hex tiene varias variantes de formato comunes:
Escenarios de aplicación
Hex se usa ampliamente en escenarios que requieren legibilidad y facilidad de depuración:
FAQ
Q: ¿Cuál es la diferencia entre Hex y Base64?
A: Hex y Base64 son representaciones textuales de datos binarios, pero tienen características diferentes. Hex: 1) Usa 16 caracteres (0-9, A-F). 2) El tamaño codificado es el 200% de los datos originales. 3) Más legible, adecuado para depuración. Base64: 1) Usa 64 caracteres (A-Z, a-z, 0-9, +, /). 2) El tamaño codificado es aproximadamente el 133% de los datos originales. 3) Más compacto, adecuado para transmisión. Consejo de selección: 1) Necesita legibilidad y depuración: use Hex. 2) Necesita transmisión compacta: use Base64. 3) Salida de algoritmos de cifrado: generalmente usa Hex (como SHA-256).
Q: ¿Por qué los valores hash se representan típicamente en Hex?
A: Los algoritmos hash (como SHA-256, MD5) producen datos binarios, generalmente representados en Hex. Razones: 1) Legibilidad: Hex es más legible que binario, fácil de comparar manualmente. 2) Longitud fija: SHA-256 produce 32 bytes, representados como 64 caracteres Hex con longitud fija. 3) Práctica tradicional: Los campos de cifrado y hash usan Hex por tradición. 4) Fácil de depurar: Los desarrolladores pueden copiar, pegar y comparar valores hash fácilmente. Ejemplo: SHA-256(“hello”) = 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824.
Q: ¿Qué son los códigos de color Hex?
A: Los códigos de color Hex representan colores RGB usando notación hexadecimal, con el formato #RRGGBB. Formato: 1) #RRGGBB: 6 dígitos hexadecimales, cada 2 dígitos representan un canal de color (rojo, verde, azul). 2) #RGB: abreviatura de 3 dígitos, cada dígito se repite una vez (ej., #F00 = #FF0000). Ejemplos: 1) #FF0000: Rojo puro (R=255, G=0, B=0). 2) #00FF00: Verde puro (R=0, G=255, B=0). 3) #0000FF: Azul puro (R=0, G=0, B=255). 4) #FFFFFF: Blanco. 5) #000000: Negro. Conversión: Los colores Hex pueden convertirse a RGB (ej., rgb(255, 87, 51)) o HSL (ej., hsl(14, 100%, 60%)).
Q: ¿Por qué las direcciones MAC se representan en Hex?
A: Las direcciones MAC (Media Access Control Address) son direcciones físicas de dispositivos de red, representadas en Hex. Formato: 6 bytes (48 bits), generalmente separados por dos puntos o guiones, como 00:1A:2B:3C:4D:5E o 00-1A-2B-3C-4D-5E. Razones: 1) Compacto: 6 bytes representados por 12 caracteres hexadecimales, más compacto que binario (48 bits) o decimal (número de 14 dígitos). 2) Legible: Hex es más legible que binario, fácil de identificar e ingresar manualmente. 3) Estándar: El estándar IEEE 802 especifica usar Hex para representar direcciones MAC. Ejemplo: 00:1A:2B:3C:4D:5E representa la dirección MAC 0x001A2B3C4D5E.
Q: ¿Cómo usar Hex en JavaScript?
A: JavaScript proporciona múltiples métodos para manejar la codificación Hex. Cadena a Hex:const str = 'Hello';
const hex = Array.from(str).map(c => c.charCodeAt(0).toString(16).padStart(2, '0')).join('');
// Resultado: '48656c6c6f'
Hex a cadena:const hex = '48656c6c6f';
const str = hex.match(/.{1,2}/g).map(byte => String.fromCharCode(parseInt(byte, 16))).join('');
// Resultado: 'Hello'
Número a Hex: const hex = (255).toString(16); // 'ff'
Hex a número: const num = parseInt('ff', 16); // 255
Q: ¿Qué es un editor Hex?
A: Un editor Hex es una herramienta para ver y editar archivos binarios, mostrando el contenido del archivo en formato hexadecimal. Características: 1) Ver archivos binarios: Mostrar cada byte de un archivo en formato Hex. 2) Editar archivos binarios: Modificar directamente los valores de bytes en archivos. 3) Buscar y reemplazar: Buscar secuencias de bytes específicas en archivos binarios. 4) Análisis de archivos: Analizar la estructura del archivo, encontrar encabezados de archivo, identificar tipos de archivo. Casos de uso: 1) Ingeniería inversa: Analizar ejecutables, firmware. 2) Recuperación de datos: Reparar archivos corruptos. 3) Modificación de juegos: Modificar guardados y configuraciones de juegos. 4) Investigación de seguridad: Analizar malware. Herramientas comunes: HxD (Windows), Hex Fiend (macOS), xxd (línea de comandos Linux).
Use Cases
Recomendado: Códigos de color CSS
Los códigos de color Hex son la representación de color más utilizada en CSS, con el formato #RRGGBB. Cada 2 dígitos hexadecimales representan un canal de color (rojo, verde, azul), con valores que van de 00-FF (0-255). Los códigos de color Hex son concisos, legibles y el estándar para el desarrollo web. El CSS moderno también admite colores Hex de 8 dígitos (#RRGGBBAA), donde los últimos 2 dígitos representan la transparencia (canal Alpha).
- ✅ Hex estándar de 6 dígitos (#FF5733)
- ✅ Abreviatura de 3 dígitos (#F00 = #FF0000)
- ✅ Hex de 8 dígitos con transparencia (#FF573380)
- 💡 Use herramientas de selección de color para generar colores Hex
- 💡 Considere usar variables CSS para gestionar colores
Recomendado: Representación de valores hash
Los algoritmos hash criptográficos (como SHA-256, MD5) generalmente producen salida en formato Hex. Los valores hash en formato Hex son fáciles de leer, copiar, pegar y comparar, siendo el formato estándar para verificación de integridad de archivos, firmas digitales, almacenamiento de contraseñas y otros escenarios. Por ejemplo, Git usa valores hash SHA-1 (40 dígitos Hex) para identificar commits, y las blockchains usan valores hash SHA-256 (64 dígitos Hex) para identificar bloques.
- ✅ Verificación de integridad de archivos (SHA-256)
- ✅ IDs de commits de Git (SHA-1)
- ✅ Hashes de bloques de blockchain (SHA-256)
- ✅ Hashes de contraseñas (bcrypt, Argon2)
- 💡 Use Hex en minúsculas para consistencia
Recomendado: Direcciones MAC e identificadores de red
Las direcciones MAC (direcciones físicas) usan 6 bytes (48 bits) de representación Hex, con el formato XX:XX:XX:XX:XX:XX o XX-XX-XX-XX-XX-XX. Las direcciones MAC identifican de forma única los dispositivos de red, con los primeros 3 bytes siendo el identificador del fabricante (OUI) y los últimos 3 bytes siendo el número de serie del dispositivo. De manera similar, las direcciones IPv6 también usan representación Hex (ej., 2001:0db8:85a3:0000:0000:8a2e:0370:7334).
- ✅ Direcciones MAC (00:1A:2B:3C:4D:5E)
- ✅ Direcciones IPv6 (2001:db8::1)
- ✅ Identificadores de dispositivos de red
- 💡 Use separadores de dos puntos para mejor legibilidad
Recomendado: UUIDs e identificadores únicos
Los UUIDs (Identificadores Únicos Universales) usan representación Hex, con el formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (32 dígitos Hex + 4 guiones). Los UUIDs generan identificadores únicos globales, ampliamente utilizados en claves primarias de bases de datos, sistemas distribuidos, sistemas de archivos y otros escenarios. Los UUIDs tienen múltiples versiones (v1-v5), siendo v4 (generado aleatoriamente) el más común.
- ✅ Claves primarias de bases de datos
- ✅ IDs de sistemas distribuidos
- ✅ Identificadores de sistemas de archivos
- ✅ IDs de solicitudes de API
- 💡 Use UUID v4 (aleatorio) o v7 (marca de tiempo)
Recomendado: Análisis de archivos binarios
Usar editores Hex para ver y editar archivos binarios es un método común en ingeniería inversa, recuperación de datos e investigación de seguridad. Los editores Hex muestran cada byte de un archivo en formato hexadecimal, facilitando el análisis de la estructura del archivo, la búsqueda de encabezados de archivo y la identificación de tipos de archivo. Por ejemplo, los archivos PNG comienzan con 89 50 4E 47 (.PNG), y los archivos JPEG comienzan con FF D8 FF.
- ✅ Ingeniería inversa (análisis de ejecutables)
- ✅ Recuperación de datos (reparación de archivos corruptos)
- ✅ Análisis de formatos de archivo
- ✅ Investigación de seguridad (análisis de malware)
- 💡 Use editores Hex profesionales (HxD, Hex Fiend)
Recomendado: Direcciones de memoria y depuración
Durante la depuración de programas, las direcciones de memoria generalmente se representan en Hex (ej., 0x7FFF5FBFF000). Las direcciones de memoria en formato Hex son fáciles de leer y comparar, y son el formato estándar para depuradores (como GDB, LLDB, WinDbg). Los desarrolladores pueden usar direcciones Hex para ver contenidos de memoria, establecer puntos de interrupción y analizar el comportamiento del programa.
- ✅ Depuradores (GDB, LLDB, WinDbg)
- ✅ Análisis de volcados de memoria
- ✅ Cálculos de punteros y direcciones
- ✅ Desarrollo en lenguaje ensamblador
- 💡 Use el prefijo 0x para indicar números hexadecimales
Recomendaciones de mejores prácticas
- Los datos codificados en Hex ocupan el 200% del tamaño original, no son adecuados para transmisión de archivos grandes; use Base64 o transmisión binaria en su lugar.
- Los valores hash generalmente usan Hex en minúsculas para consistencia (ej., Git, blockchain).
- Los códigos de color CSS usan más comúnmente Hex en mayúsculas (#FF5733), pero las minúsculas (#ff5733) también son aceptables.
- Las direcciones MAC usan más comúnmente separadores de dos puntos (00:1A:2B:3C:4D:5E) que guiones (00-1A-2B-3C-4D-5E).
- En JavaScript, use toString(16) para convertir números a Hex, y parseInt(hex, 16) para convertir Hex a números.
- Los editores Hex son herramientas poderosas para analizar archivos binarios, pero requieren comprensión de formatos de archivo y orden de bytes (big-endian/little-endian).