Traductor Binario y Hexadecimal
- Elige el sentido: texto a binario o binario a texto.
- Pega el contenido. Al convertir desde binario, los espacios y otros separadores se ignoran: solo cuentan los 0 y los 1.
- El resultado aparece mientras escribes.
El texto se convierte primero a bytes en UTF-8, y cada byte se escribe como 8 dígitos binarios, completando con ceros a la izquierda.
Los caracteres del alfabeto latino básico ocupan 1 byte y generan 8 dígitos. Las letras acentuadas ocupan 2 bytes, es decir, 16 dígitos. Los emojis llegan a 4 bytes y 32 dígitos.
Por eso "ola" produce 24 dígitos y "olá" produce 32: la á por sí sola vale por dos caracteres en bytes.
Al convertir de binario a texto, la cantidad de dígitos tiene que ser múltiplo de 8. Si faltan o sobran bits, no hay forma de construir bytes completos y la conversión se rechaza.
Incluso con la longitud correcta, la secuencia debe formar UTF-8 válido. La decodificación se hace en modo estricto, así que los bytes que no componen un carácter legítimo generan un error en lugar de devolver ese rombo con signo de interrogación.
Rechazar es intencionado: es preferible avisar de que la entrada está corrupta que entregar un texto silenciosamente incorrecto.
- Un ejercicio de universidad o el estudio de la representación de datos.
- Comprobar manualmente el contenido de un búfer durante la depuración.
- Entender por qué un texto con acentos ocupa más bytes de lo que sugiere el recuento de caracteres.
- Resolver un reto de CTF o un enigma que codifica el mensaje en binario.
- Elige el sentido: texto a hexadecimal o hexadecimal a texto.
- Pega el contenido. Al convertir desde hexadecimal, los espacios, saltos de línea y prefijos se ignoran: solo cuentan los dígitos hexadecimales.
- El resultado aparece mientras escribes.
El texto se codifica a bytes UTF-8, y cada byte se escribe como dos dígitos hexadecimales en mayúsculas separados por un espacio.
Dos dígitos representan exactamente un byte porque cada dígito hexadecimal vale 4 bits. Esa correspondencia directa es la razón de que el hexadecimal sea la notación estándar para inspeccionar datos binarios.
Los caracteres latinos básicos ocupan 1 byte, las letras acentuadas 2, y los emoji pueden llegar a 4. Por eso la cantidad de pares no coincide con la cantidad de caracteres en textos con acentos.
Convertir desde hexadecimal exige una cantidad par de dígitos: cada byte necesita dos. Un dígito suelto impide formar el último byte y la conversión se rechaza.
Incluso con cantidad par, los bytes deben formar UTF-8 válido. La decodificación funciona en modo estricto, así que una secuencia inválida genera error en lugar de devolver el carácter de reemplazo.
Rechazar es intencional: entregar texto corrupto en silencio sería peor que avisar de que la entrada está mal.
- Inspeccionar lo que realmente contiene un campo mientras depuras.
- Comprobar la codificación de un texto que aparece con caracteres extraños.
- Convertir una secuencia hexadecimal encontrada en un log o un volcado binario.
- Resolver un reto de CTF o un ejercicio de representación de datos.
Preguntas frecuentes
Al convertir de binario a texto, no: cualquier carácter que no sea 0 o 1 se descarta antes. Lo que importa es que el total de dígitos sea múltiplo de 8.
Porque el recuento dejó de ser múltiplo de 8 y ya no se pueden formar bytes completos. Un solo bit de menos invalida toda la secuencia.
Porque en UTF-8 ocupa 2 bytes, y cada byte pasa a 8 dígitos. Los emojis pueden ocupar 4 bytes y generar 32 dígitos.
No. Es solo otra representación de los mismos bytes, totalmente reversible y sin clave. No protege nada.
No. La conversión ocurre en tu navegador.
Al convertir de hexadecimal a texto, no. Todo lo que no sea dígito hexadecimal se descarta antes, así que pueden quedar espacios, saltos de línea y prefijos.
Porque la cantidad de dígitos dejó de ser par y el último byte quedó incompleto. Cada byte necesita exactamente dos dígitos.
Porque en UTF-8 ocupa 2 bytes, y cada byte se convierte en un par de dígitos. Los emoji pueden ocupar 4 bytes y generar 4 pares.
Ambos representan bytes como texto. El hexadecimal usa 16 símbolos y duplica el tamaño; Base64 usa 64 símbolos y crece cerca de un tercio. El hexadecimal se lee mejor para inspección, Base64 es más compacto para transporte.
No. La conversión ocurre en tu navegador.