Hace ya unos días iniciamos la serie de artículos de “Conceptos de informática” y comenzamos hablando del endian hoy seguimos con esta serie de post y hablaremos de los juegos de caracteres, los llamados charset y los collation que podríamos traducirlo como orden lexicográfico.
Juegos de caracteres
Cuando queremos almacenar información textual sobre una máquina que gestiona y almacena sólo información binaria, tenemos que decidir algún método para formalizar nuestra representación textual en forma de dígito que esta pueda almacenar.
Este método formal será la codificación de cada carácter en un conjunto de valores que puedan ser 0 ó 1. Estos valores serán entendidos por el software como un carácter. En función de que formalismo utilicemos, tendremos un juego de caracteres u otro.
El juego de caracteres más utilizado en el mundo de las computadores hasta hace no mucho es el famoso ASCII (American Standard Code for Information Interchange). Cada carácter se representa por medio de 7 dígitos binarios (aquí podéis ver el listado completo). De esta forma se aprovechaban 7 dígitos para transmitir información y 1 de control de paridad para detectar errores en registros de 8 bits de ancho. Tendríamos un total de 2 elevado a 7 posibles símbolos, 128 en total.
Sin embargo, como podéis suponer el ASCII sólo contemplaba los caracteres anglosajones y por lo tanto los demás idiomas europeos teníamos problemas para escribir nuestros textos en máquinas. Así nacieron los llamados ASCII extendidos cuyo ejemplo más importante es un estándar que a día de hoy sigue plenamente vigente en multitud de sistemas (creo, no os puedo asegurar, que el elegido por defecto para ficheros de texto en sistemas Windows con idiomas occidentales): ISO-8859-1.
Este estándar ya era capaz de almacenar prácticamente todas las letras y símbolos necesarios en Europa Occidental, de hecho contiene 8 bits de datos por carácter, pudiendo almacenar por lo tanto un total de 256 caracteres diferentes. Sin embargo, seguían existiendo problemas de codificación para alfabetos de origen oriental, árabe o hebreo, entre otros.
Del estándar que los resuelve UTF-8 (el que usan prácticamente todas las distribuciones actuales) y de las collation o de cómo indicar explícitamente el orden lexicográfico hablaremos en una próxima entrada.






Pingback: Bitacoras.com
Pingback: AirisPC » Blog Archive » Linux Hispano | Conceptos de informática: Juegos de caracteres y …
Pingback: Tweets that mention Linux Hispano | Conceptos de informática: Juegos de caracteres y “collation” [Parte I] -- Topsy.com
Pingback: Modificar el juego de caracteres de una base de datos y todas sus tablas en MySQL | Linux Hispano
Pingback: Modificar el juego de caracteres de una base de datos y todas sus tablas en MySQL | Superlinux
Pingback: mushkinMX » Blog Archive » Modificar el juego de caracteres de una base de datos y todas sus tablas en MySQL
Pingback: Detectar UTF-8, ASCII e ISO 8859-1 en PHP | Linux Hispano
Gracias, por fin me quedó claro el tema XD.
Pingback: Cortar cadenas UTF-8 en PHP | Linux Hispano
Pingback: Quitar acentos y eñes con PHP | Linux Hispano
Pingback: Quitar acentos y eñes con PHP | Superlinux