Cómo traducir binario a texto
- Pega el binario en Entrada · Binario. Los bytes pueden ir separados por espacios, saltos de línea, comas, punto y coma o
|, o no ir separados. - El texto aparece en Salida · Texto mientras escribes.
- Si ves
�, los bits no son UTF-8 válido. Prueba otro Juego de caracteres bajo la salida, como ISO-8859-1. - Copiar salida copia el texto. Texto → Binario, encima de la herramienta, cambia la dirección, igual que Texto a binario.
Cómo leer binario a mano
Cada grupo de 8 bits es un byte. Da a cada posición un valor, de 128 a la izquierda a 1 a la derecha, y suma las posiciones que tienen un 1:
| Bit | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
|---|---|---|---|---|---|---|---|---|
| Valor | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
01001000 es 64 + 8 = 72, y el carácter 72 en ASCII es H. 01101001 es 64 + 32 + 8 + 1 = 105, que es i.
Para las letras casi nunca hace falta la aritmética, porque ASCII sigue un patrón. Los tres primeros bits dicen qué tipo de carácter es, y en las letras los cinco últimos bits son la posición en el alfabeto:
| Empieza por | Significado | Ejemplos |
|---|---|---|
010 | letra mayúscula | 01000001 A, 01001000 H, 01011010 Z |
011 | letra minúscula | 01100001 a, 01101001 i, 01111010 z |
0011 | dígito | 00110000 0, 00111001 9 |
00100000 | espacio |
Así, 01000011 termina en 00011, que es 3, la tercera letra: C. Mayúsculas y minúsculas se diferencian en un solo bit, el tercero por la izquierda.
Formatos que acepta el traductor
| Entrada | Se lee como |
|---|---|
01001000 01101001 | grupos de 8 bits separados por espacios o saltos de línea |
01001000,01101001 o 01001000;01101001 | comas, punto y coma o | como separadores |
0b01001000 0b01101001 | los prefijos 0b se ignoran |
1001000 1101001 | grupos de 7 bits, como en los ejercicios clásicos de ASCII de 7 bits |
0100100001101001 | una sola cadena de bits, cortada en trozos de 8 bits |
Todas se decodifican como Hi. Un grupo de menos de 8 bits se lee como un byte, y por eso funciona la versión de 7 bits. Si algún grupo pasa de 8 bits, la herramienta une todos los bits en una cadena y la corta en bytes. Cualquier cosa que no sea 0, 1 o un separador detiene la conversión e indica la posición del carácter erróneo; el botón Mostrar junto al mensaje lo selecciona en la entrada.
Binario que no es ASCII simple
Los bytes ASCII siempre empiezan por 0. Un byte que empieza por 1 pertenece a un carácter UTF-8 de varios bytes, y sus bits iniciales indican la longitud de la secuencia:
| Carácter | Bits UTF-8 | Patrón |
|---|---|---|
é | 11000011 10101001 | 110 inicia un carácter de 2 bytes, 10 lo continúa |
€ | 11100010 10000010 10101100 | 1110 inicia un carácter de 3 bytes |
👋 | 11110000 10011111 10010001 10001011 | 11110 inicia un carácter de 4 bytes |
Si los decodificas byte a byte obtienes basura como é. Mantén los bytes juntos y deja Juego de caracteres en UTF-8.
De binario a Base64
Binario, hex y Base64 son formas de escribir los mismos bytes. El binario usa 8 caracteres por byte, el hex 2 y Base64 alrededor de 1,33, así que Base64 es lo que usan los sistemas para mover datos binarios a través de texto: adjuntos de correo, campos JSON, data URI. Para convertir tus bits directamente en Base64, usa Binario a Base64. Para ver los bits que hay dentro de una cadena Base64, usa Base64 a binario; cómo funciona Base64 muestra cómo reagrupa esos bits de 6 en 6.
Binario a texto en código
bits = "01001000 01101001"
bytes(int(b, 2) for b in bits.split()).decode("utf-8") # 'Hi'
const bits = "01001000 01101001";
new TextDecoder().decode(Uint8Array.from(bits.split(" "), b => parseInt(b, 2))); // 'Hi'
Los dos suponen que los grupos van separados por un solo espacio; la herramienta de arriba es más flexible con el formato de entrada.
Preguntas frecuentes
¿Qué significa 01001001 00100000 01101100 01101111 01110110 01100101 00100000 01111001 01101111 01110101?
I love you (te quiero, en inglés). Cada grupo de 8 bits es un carácter ASCII, y 00100000 es el espacio entre las palabras.
¿Cuántos dígitos binarios forman una letra?
Ocho, un byte, para cualquier letra o dígito en texto ASCII simple. Las letras acentuadas ocupan 16 bits en UTF-8, la mayoría de los demás alfabetos 16 o 24, y los emoji 32.
¿Puedo traducir binario sin espacios?
Sí. Una cadena continua como 0100100001101001 se corta en trozos de 8 bits desde la izquierda. Su longitud tiene que ser múltiplo de 8; si no, la herramienta indica cuántos bits encontró.
¿Por qué mi binario se traduce en caracteres sin sentido?
Normalmente falta o sobra un bit en una cadena sin espacios, y eso desplaza todos los bytes siguientes. Si puedes, añade espacios entre los bytes; así un grupo erróneo solo estropea un carácter y el resto se sigue leyendo bien.