[pgsql-es-ayuda] Codificado

Alvaro Herrera alvherre en alvh.no-ip.org
Jue Nov 22 22:25:51 CLST 2007


Guillermo O. Burastero escribió:
> El 21/11/07, Guillermo O. Burastero <linux.gb en gmail.com> escribió:
> > Hola,
> >
> > El 15/11/07, Gunnar Wolf <gwolf en gwolf.org> escribió:
> >
> > > Todos los esquemas de codificación iso-8859-*, así como los win-*, o
> > > antes aún los codepages cp*, son meros parches para permitir que las
> > > diferentes culturas del mundo representen su información con los 256
> > > caracteres (8 bits, pues) que permite ASCII. ¿Por qué? Porque ASCII es
> > > un estándar demasiado bien establecido, y migrar por completo a algo
> > > distinto era casi impensable.
> >
> > Error: ASCII ( American Standard Code For Information Interchange) es
> > una codificación de 7 bits (no 8 bits) o sea con espacio para 2^7 =
> > 128 caracteres o códigos diferentes.
> >
> > ver http://www.asciitable.com/

Eso es correcto, pero la transmisión y almacenamiento de ASCII ocupa 8
bits por carácter, lo cual quiere decir que hay un espacio de 127
caracteres que está (según ASCII) en desuso.  Lo que hacen todas esas
codificaciones que menciona Gunnar es extender la definición para
utilizar ese bit extra; de ese modo cada "lenguaje" (o grupo de) define
lo que hay en la otra mitad de la tabla.

UTF-8 también es una extensión (superconjunto) de ASCII en el sentido de
que los caracteres con el octavo bit apagado también se interpretan de
esa forma (un carácter de la tabla ASCII), pero la diferencia
fundamental es que un byte que tenga el octavo bit encendido indica que
lo que viene a continuación es de largo variable.  Desde ese punto de
vista, UTF-8 es ASCII-compatible.  La forma de escoger los patrones de
bites escogida tiene la ventaja que todo byte que no sea el primero de
una secuencia multibyte también tiene el primer bit encendido, y por lo
tanto es imposible malinterpretarlo como un carácter ASCII.

-- 
Alvaro Herrera                  http://www.amazon.com/gp/registry/5ZYLFMCVHXC
"Para tener más hay que desear menos"


Más información sobre la lista de distribución Linux