Historia dos códigos. UNICODE
Cando os ordenadores comezaron a usarse, necesitaban un xeito de representar letras, números e símbolos como ceros e uns (bits). Para iso inventáronse diferentes códigos:
- Código Morse (1830): non é informático, pero é un antecedente. Usaba puntos e raias para representar letras.
- Código ASCII (1960): converte cada carácter (letra, número, signo de puntuación) nun número de 7 ou 8 bits. Por exemplo: A = 65. Foi o estándar en inglés, pero non incluía todos os caracteres doutros idiomas.
- Extensións nacionais de ASCII: para soportar letras como ñ, ç, á…, diferentes países fixeron variantes, o que provocaba problemas de compatibilidade.
- ANSI / ISO-8859: intentaron unificar os alfabetos europeos, pero quedaban curtos para outros idiomas.
O código Unicode
Para resolver os problemas que había na codificación de sinais, naceu Unicode (1991). O seu obxectivo é ter un só estándar válido para todas as linguas do mundo.
Cada carácter ten un número único chamado punto de código (code point).
Escríbese como U+XXXX, por exemplo:
- A = U+0041
- ñ = U+00F1
- 日 (sol, en xaponés) = U+65E5
Unicode non só inclúe letras, senón tamén:
- Símbolos matemáticos
- Emojis 😀
- Signos musicais
- Alfabetos antigos (grego, exipcio, maia…)
Como funciona na práctica?
Unicode define o repertorio de caracteres, pero para gardalos na memoria ou transmitilos por internet hai que codificalos en bytes. O sistema máis usado é:
- UTF-8: cada carácter ocupa entre 1 e 4 bytes, segundo o símbolo. É eficiente e compatible con ASCII.
- UTF-16: usa 2 ou 4 bytes por carácter.
- UTF-32: usa sempre 4 bytes (pouco usado porque ocupa moito).
Hoxe case todas as páxinas web, programas e sistemas operativos empregan Unicode/UTF-8, o que permite escribir en calquera idioma sen conflitos.