El Lunes, 20 de Septiembre de 2004 01:02, Carlos E. R. escribió:
El 2004-09-19 a las 21:51 +0200, Urbez Santana Roma escribi�:
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.
Ah. Interesante.
Eso quiere decir, que en lugar de tener 4.294.967.296 letras, tenemos "s�lo" 536.870.912, o sea, 2^(32-3)
Y adem�s, quiere decir que todas mis rutinas de manejo de strings y caracteres se me han ido al caraio, con perd�n. Menos mal que ya no programo :-)
-- Saludos Carlos Robinson
Hay un pequenyo detalle, utf-8 conserva el orden de comparación de strings habitual, byte a byte. Que porcierto muchas rutinas antiguas dependen de la codificación. No obstante, no se si alguna vez programando en Windows, no os ha molestado que los controles OCX, usaran wide strings? strings de 2 bytes por caracter? la verdad es que hay muy buenas librerias para manejo de strings utf-8 en QT (KDE) y en GNOME, tambien, las hay a nivel general, open source. Ademas hay otra clase de strings, que no acaban en un 0, y no dependes del cálculo de la longitud que según que aplicaciones que manejan strings es ineficiente. También hay librerias de expresiones regulares para tratar strings en unicode. -- ################################################ #- Urbez Santana i Roma - #- Email: urbez@linuxupc.upc.es #- Private Web: http://linuxupc.upc.es/~urbez/ ################################################