Mailinglist Archive: opensuse-es (2022 mails)
| < Previous | Next > |
Re: [suse-linux-s] Cuelgue al acentuar en Konqueror+Unicode
- From: Urbez Santana Roma <urbez@xxxxxxxxxxxxxxx>
- Date: Sun, 19 Sep 2004 21:51:21 +0200
- Message-id: <200409192151.21325.urbez@xxxxxxxxxxxxxxx>
El Domingo, 19 de Septiembre de 2004 14:14, Carlos E. R. escribió:
>....
> Precisamente ahí está el problema. Los caracteres se representaban por un
> byte. O mejor dicho, son un byte. Luego, el sistema va y dice que cuando
> vea un 65 se pinte una 'A'. Si luego otro dice que no es una 'A' sino una
> 'B', a él le da igual. Esa representacion es arbitraria y humana.
>
> Claro, que en esos 255 numeros no se pueden representar todas las letras
> de todos los idiomas... hay unas cuantas que no cambian de sitio (las 127
> primeras), y con las restantes se juega. Pero internamente siguen siendo
> numeros. Es el usuario el que decide como hay que pintar el número 209
> diciendo que es la Ñ mayuscula. Al sistemea operativo le da igual. Simple.
> Fácil.
>
> Eso era antes. Ahora se han inventado el unicode. Ya no son sólo 255
> numeros. De hecho, ya no se como hacen, pero tiene que ser con dos
> digitos, o a veces con dos digitos y a veces con uno y escapes.
>
> Y ya está liada la cosa, hasta que todo el mundo se aclare y sepa como
> leer el nombre de los ficheros.
>
> Yo, ahora, ya no se como hacer para manipular un string en unicode. Y no
> debo ser el único, porque si el konkeror se cuelga...
>
> --
> Saludos
> Carlos Robinson
El unicode es un formato muy sencillo de manejar.
De hecho, las primeras implementaciones de unicode eran Wide characters
porque pensaron que con 2 bytes habria suficiente para todos los simbolos
Bueno la version actual es de 4 bytes, aunque normalmente se usan solo 2.
Las tablas de unicode se las puede uno bajar de http://www.unicode.org/ucd/
Os esplicaré brevemente en que consiste.
La idea es catalogar todos los sÃmbolos que usamos los humanos, incluso los
musicales y de otra Ãndole que pueda ser necesario usarlos en un documento
en todo el mundo.
A cada sÃmbolo, se le atribuye una etiqueta (desgraciadamente en ingles) pero
da igual, de la misma manera que se catalogan los arboles, las plantas, etc.
A parte de un catálogo lo más exhaustivo posible de estos sÃmbolos de todas
las escrituras a las que han podido acceder esta gente, en su base de datos
mantienen archivos que "mapean" codificaciones que se han usado en diversos
lugares del mundo y sistemas operativos distintos (por ejemplo mac y windows
nunca han usado el mismo juego de caracteres)
Gracias a estos catálogos, se pueden UNIFICAR todos los documentos y
convertirlos a una representación para todos idéntica.
Esta es la gran ventaja de unicode, que da y dará independencia a los
programas, facilidades de traducción a dichos programas (aquà uno de los
mejores sistemas para hacer aplicaciones bilingües son las QT)
Que pasa, que todos los sÃmbolos que se conocen no cabrian jamas en una
representación con bytes (del 0 al 255) ni con words (del 0 al 65535)
Para asegurarse de que cabrán se usan 4 bytes (del 0 al 4294967296)
Creen que nunca se catalogaran tantos sÃmbolos por el momento)
Que pasa, que algunos sistemas ya habian medio codificado alfabetos con una
version unicode (el Word de Microsoft, y otros procesadores de texto) un poco
a su manera, y con 2 bytes. Eso explica que en windows NT y 2000, algunos
ficheros de texto, tengan caracteres dobles, 0 los pares y el caracter en los
impares. La idea de estos era seguir usando la codificacion CP-1250
y lo que hacian era que si uno de los 2 bytes era un 0 ( el mas
significativo), era la codificación CP-1250, si no, era un caracter
internacional.
Evidentemente, si ahora todos los carácteres que escribimos, en vez de usar
1 byte, usaramos 4, nuestros documentos ocuparian 4 veces mas.
Horror, tampoco hay que ir a ese extremo verdad?
Para no disparar el tamanyo de los documentos, se inventaron codificaciones
de esos 4 bytes de unicode, para ahorrar espacio. Un buen ejemplo de estos
y el más extendido es el UTF-8
Cual es la gracia de este sistema?, pues que ahorra mucho espacio y la mayoria
de las veces, solo ocupa un byte, (aunque es injusto porque en griego, ruso,
xino,etc, nunca ocuparán un solo byte por simbolo, pero ya se sabe, los
primeros siempre ganan)
La codificación del UTF-8 es muy sencilla.
Los valores van siempre del 0 al 127, reservando el ultimo bit para indicar si
hay que extender un byte más el codigo. (esto es una codificación de tamaño
variable). Si el ultimo bit, es un 1 (byte de 128 a 255), se indica que se
necesitan 7 bits mas, y asi, hasta que cabe el codigo de 4 bytes, si es que
estos son todos diferentes de 0.
Despues de marearos con el unicode, deciros, que en el fondo, es un tema muy
interesante incluso para gente que no le guste la informática.
Un saludo...
--
################################################
#- Urbez Santana i Roma -
#- Email: urbez@xxxxxxxxxxxxxxx
#- Private Web: http://linuxupc.upc.es/~urbez/
################################################
>....
> Precisamente ahí está el problema. Los caracteres se representaban por un
> byte. O mejor dicho, son un byte. Luego, el sistema va y dice que cuando
> vea un 65 se pinte una 'A'. Si luego otro dice que no es una 'A' sino una
> 'B', a él le da igual. Esa representacion es arbitraria y humana.
>
> Claro, que en esos 255 numeros no se pueden representar todas las letras
> de todos los idiomas... hay unas cuantas que no cambian de sitio (las 127
> primeras), y con las restantes se juega. Pero internamente siguen siendo
> numeros. Es el usuario el que decide como hay que pintar el número 209
> diciendo que es la Ñ mayuscula. Al sistemea operativo le da igual. Simple.
> Fácil.
>
> Eso era antes. Ahora se han inventado el unicode. Ya no son sólo 255
> numeros. De hecho, ya no se como hacen, pero tiene que ser con dos
> digitos, o a veces con dos digitos y a veces con uno y escapes.
>
> Y ya está liada la cosa, hasta que todo el mundo se aclare y sepa como
> leer el nombre de los ficheros.
>
> Yo, ahora, ya no se como hacer para manipular un string en unicode. Y no
> debo ser el único, porque si el konkeror se cuelga...
>
> --
> Saludos
> Carlos Robinson
El unicode es un formato muy sencillo de manejar.
De hecho, las primeras implementaciones de unicode eran Wide characters
porque pensaron que con 2 bytes habria suficiente para todos los simbolos
Bueno la version actual es de 4 bytes, aunque normalmente se usan solo 2.
Las tablas de unicode se las puede uno bajar de http://www.unicode.org/ucd/
Os esplicaré brevemente en que consiste.
La idea es catalogar todos los sÃmbolos que usamos los humanos, incluso los
musicales y de otra Ãndole que pueda ser necesario usarlos en un documento
en todo el mundo.
A cada sÃmbolo, se le atribuye una etiqueta (desgraciadamente en ingles) pero
da igual, de la misma manera que se catalogan los arboles, las plantas, etc.
A parte de un catálogo lo más exhaustivo posible de estos sÃmbolos de todas
las escrituras a las que han podido acceder esta gente, en su base de datos
mantienen archivos que "mapean" codificaciones que se han usado en diversos
lugares del mundo y sistemas operativos distintos (por ejemplo mac y windows
nunca han usado el mismo juego de caracteres)
Gracias a estos catálogos, se pueden UNIFICAR todos los documentos y
convertirlos a una representación para todos idéntica.
Esta es la gran ventaja de unicode, que da y dará independencia a los
programas, facilidades de traducción a dichos programas (aquà uno de los
mejores sistemas para hacer aplicaciones bilingües son las QT)
Que pasa, que todos los sÃmbolos que se conocen no cabrian jamas en una
representación con bytes (del 0 al 255) ni con words (del 0 al 65535)
Para asegurarse de que cabrán se usan 4 bytes (del 0 al 4294967296)
Creen que nunca se catalogaran tantos sÃmbolos por el momento)
Que pasa, que algunos sistemas ya habian medio codificado alfabetos con una
version unicode (el Word de Microsoft, y otros procesadores de texto) un poco
a su manera, y con 2 bytes. Eso explica que en windows NT y 2000, algunos
ficheros de texto, tengan caracteres dobles, 0 los pares y el caracter en los
impares. La idea de estos era seguir usando la codificacion CP-1250
y lo que hacian era que si uno de los 2 bytes era un 0 ( el mas
significativo), era la codificación CP-1250, si no, era un caracter
internacional.
Evidentemente, si ahora todos los carácteres que escribimos, en vez de usar
1 byte, usaramos 4, nuestros documentos ocuparian 4 veces mas.
Horror, tampoco hay que ir a ese extremo verdad?
Para no disparar el tamanyo de los documentos, se inventaron codificaciones
de esos 4 bytes de unicode, para ahorrar espacio. Un buen ejemplo de estos
y el más extendido es el UTF-8
Cual es la gracia de este sistema?, pues que ahorra mucho espacio y la mayoria
de las veces, solo ocupa un byte, (aunque es injusto porque en griego, ruso,
xino,etc, nunca ocuparán un solo byte por simbolo, pero ya se sabe, los
primeros siempre ganan)
La codificación del UTF-8 es muy sencilla.
Los valores van siempre del 0 al 127, reservando el ultimo bit para indicar si
hay que extender un byte más el codigo. (esto es una codificación de tamaño
variable). Si el ultimo bit, es un 1 (byte de 128 a 255), se indica que se
necesitan 7 bits mas, y asi, hasta que cabe el codigo de 4 bytes, si es que
estos son todos diferentes de 0.
Despues de marearos con el unicode, deciros, que en el fondo, es un tema muy
interesante incluso para gente que no le guste la informática.
Un saludo...
--
################################################
#- Urbez Santana i Roma -
#- Email: urbez@xxxxxxxxxxxxxxx
#- Private Web: http://linuxupc.upc.es/~urbez/
################################################
| < Previous | Next > |