Entiende por qué las tildes salen a veces ilegibles y qué esconden esos finales de línea invisibles.
Abrir esta lección en KodokonUna máquina no tiene ni idea de qué es la letra A. Lo único que maneja son números. Así que, para escribir texto, hubo que ponerse de acuerdo en una tabla de correspondencias: el número 65 significa A, el 66 significa B, y así sucesivamente. Esa convención se llama codificación. La más antigua, ASCII, es de los años sesenta y solo cubría el alfabeto inglés: ni é, ni ñ, ni ü, ni un solo carácter chino.
Después, cada país inventó su propia tabla, y llegó el caos: un archivo español abierto con la tabla rusa salía convertido en un galimatías. La solución moderna se llama Unicode, un catálogo único que asigna un número a todos los caracteres de todos los idiomas, emojis incluidos. Y UTF-8 es la forma estándar de escribir esos números dentro de un archivo. Hoy la regla es sencilla y no admite excepciones: guarda siempre tus archivos en UTF-8.
Escrito en UTF-8, leído como UTF-8 -> Canción de mañana (tildes correctas)
Escrito en UTF-8, leído como Latin-1 -> Canción de mañana
Escrito en Latin-1, leído como UTF-8 -> Canci?n de ma?anaSegunda cosa invisible: el final de línea. Cuando pulsas Intro, en el archivo no se dibuja ninguna línea. Lo que se añaden son uno o dos caracteres invisibles y, también aquí, los sistemas nunca se pusieron de acuerdo. macOS y Linux usan un solo carácter, el LF (line feed, avance de línea), que se escribe \n. Windows usa dos seguidos, el CRLF (carriage return y luego line feed), que se escribe \r\n. Viene directamente de las máquinas de escribir, donde hacían falta dos movimientos distintos: devolver el carro y luego bajar una línea.
Lo que ves en pantalla:
Hola
Qué tal
Lo que contiene realmente el archivo:
macOS / Linux (LF) Hola\nQué tal
Windows (CRLF) Hola\r\nQué talé aparece como é?