Cómo funciona ASCII y UTF-8
Las computadoras solo entienden números, así que cada carácter que escribís tiene asignado un número. La tabla más vieja y famosa es ASCII, que le pone un código del 0 al 127 a las letras inglesas, los dígitos y los símbolos básicos. La "A" es el 65, la "a" es el 97, el espacio es el 32. Cuando el texto tiene tildes, ñ, emojis o caracteres de otros alfabetos, entra en juego UTF-8, una codificación que extiende ASCII y puede representar más de un millón de caracteres distintos.
Por qué 8 bits forman un byte
Un bit es la unidad mínima: vale 0 o 1. Agrupando 8 bits se forma un byte, que puede tomar 256 valores distintos (2 elevado a la 8). Eso alcanza y sobra para los 128 caracteres de ASCII, por eso históricamente un carácter = un byte. Cada bit dentro del byte representa una potencia de 2: 128, 64, 32, 16, 8, 4, 2, 1. Sumando las posiciones que valen 1 reconstruís el número. Por ejemplo, 01000001 es 64 + 1 = 65, o sea la "A".
Caracteres multibyte: la magia de UTF-8
UTF-8 es ingenioso porque es compatible hacia atrás: los primeros 128 códigos son idénticos a ASCII y ocupan un solo byte. Para el resto usa 2, 3 o 4 bytes según haga falta. La "ñ" se codifica con 2 bytes, el símbolo del euro "€" con 3, y muchos emojis con 4. Por eso, cuando convertís una frase con acentos, vas a ver más grupos de 8 bits que caracteres. Esta herramienta usa TextEncoder, la API nativa del navegador, que produce exactamente los mismos bytes que cualquier archivo UTF-8 real.
Del binario de vuelta al texto
El proceso inverso agrupa los bits de a 8, convierte cada grupo a su número y le pide a TextDecoder que reconstruya los caracteres, uniendo los bytes multibyte cuando corresponde. Aceptamos el binario con espacios entre bytes o pegado de corrido; lo único imprescindible es que la cantidad total de bits sea múltiplo de 8 y que no haya caracteres distintos de 0 y 1. Si algo no cierra, te avisamos con un error en vez de devolver texto roto.
Para qué sirve convertir texto a binario
- Entender cómo se guardan realmente los datos en una computadora.
- Ejercicios y tareas de programación, redes o sistemas.
- Depurar problemas de codificación (por qué aparece "ñ" en vez de "ñ").
- Juegos, acertijos y mensajes ocultos en binario.
- Enseñar la relación entre caracteres, bytes y bits.
Referencia: caracteres comunes en binario
| Carácter | Decimal | Binario | Hex |
|---|---|---|---|
| A | 65 | 01000001 | 41 |
| a | 97 | 01100001 | 61 |
| 0 | 48 | 00110000 | 30 |
| (espacio) | 32 | 00100000 | 20 |
| ! | 33 | 00100001 | 21 |