Saltar navegación

5.2. Códigos

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.

Feito con eXeLearning (Nova xanela)