Saltar la navegación

2.4. Encoding

Los archivos que trataremos, en muchas ocasiones, contendrán información de texto o caracteres. Cada lengua utiliza un tipo de carácter distinto de otra, por ejemplo, el alemán utiliza un abecedario diferente que el español, por lo que usará caracteres distintos. Los caracteres se almacenan en nuestro ordenador como uno o más bytes (ver tabla ASCII y atajos para usar sus caracteres).

Básicamente, podemos asumir que todos los caracteres están almacenados en ordenadores usando un código especial, es decir, una codificación de caracteres proporciona una clave para descifrar el código. Será, por tanto, un conjunto de asignaciones entre los bytes de los ordenadores y los caracteres en el conjunto de caracteres. Sin la clave, cuando el ordenador descifre los caracteres de ese fichero, aparecerán sin descifrar y se verán raros.

Se denomina encoding al sistema utilizado para transformar los caracteres que usa cada lenguaje en un símbolo que un ordenador pueda interpretar.

Codificación de caracteres

La codificación de caracteres asigna los caracteres escogidos a bytes específicos en la memoria del ordenador, y luego, para mostrar el texto, lee los bytes nuevamente en caracteres. Principalmente, se basa en crear tablas de equivalencias entre caracteres de lenguaje entendible por las personas con su correspondencia al lenguaje que usa un sistema informático.

Los más importantes son:

Ejemplo

Abre un editor de textos y copia y pega el siguiente texto:

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>Ejemplo de codificación</title>
</head>
<body>
<p>Esto es un texto español en UTF-8. ¿Se podrá leer con otra codificación?</p>
</body>
</html>

Guarda el archivo como ejemplo.html en cualquier carpeta.

Pulsa dos veces sobre él y se abrirá con el navegador de Internet predeterminado.

Observa que el texto es legible y sin errores de codificación.

Modifica ahora el texto UTF-8 por cualquier otra codificación, por ejemplo ISO-8859-1, y vuelve a abrirlo (o refresca el navegador). ¿Existe diferencia?