[pyar] otra vez UNICODE...?

Roberto Alsina ralsina en netmanagers.com.ar
Mie Abr 27 07:04:24 ART 2011


On 4/27/2011 12:01 AM, Nicolas Palumbo wrote:
> Ya estoy re tarde. Peeero,
> en el libro de Mark Summerfield Python 3.0, dice que basicamente en el 
> proceso, cualquier manejo de strings en el programa es en general 
> unicode. Porque en las maquinas actuales sobra memoria para eso.Pero 
> al momento de guardar strings en el disco rigido, o mandarlos por la 
> red, guardarlos como unicode puede ser costoso, basta imaginarse una 
> base de datos con muchos registros de string, si se guarda unicode, 
> aunque sea en su formato mas corto de 16 bit (UCS-algo, que no 
> recuerdo en este momento), se puede desperdiciar mucho almacenamiento 
> valioso, cuando en la mayoria de los casos , con 8 bits sobra.

No. Ahí tenés un prblema de concepto. No se puede "guardar unicode" en 
ningún lado. Lo que podés guardar son bytes. Esos bytes pueden (deben 
;-) contener una representación del string unicode en algún "formato", 
por ejemplo utf-8, utf-16, o lo que sea.

Y no, en general, guardar las cosas como utf-8 no usa mucho más lugar 
que guardarlo en ASCII. El caso en que usa más espacio (un byte mas por 
caracter) es en los caracteres que el ASCII no soporta!

Para completarla: "con 8 bits sobra"? Supongo que te referís a usar un 
encoding como ISO-8859-1, que no puede representar todo unicode, pero 
nunca usa más de un byte por caracter. Hasta el ASCII de 7 bits es un 
encoding!

Sí, "sobra" hasta que alguien te manda un caracter que no podés 
representar y de golpe NO sobra, sino que se cuelga.

Mejor hacer las cosas bien.

> Repitiendo lo de Roberto entonces. En tu programa en general se tratan 
> todas las cadenas como unicode. Entonces si lees del sistema de 
> archivos, o de la red, tenes que hacer un decode, y te va a devolver 
> unicode para trabajar normalmente. Si escribis, ya sea sistema de 
> archivos, o cualquier otro destino, tenes que codificar (encode) desde 
> unicode a otro formato.
> Yo tenia el mismo problema que vos con unicode, nunca terminaba de 
> caer. Mi recomendacion, leelo hasta q lo entiendas bien. Y una vez que 
> llegues ahi, no leas mas nada sobre el tema. Te podes hacer una 
> ensalada de terminologia con este tema.
> Paso un link:
> http://www.cl.cam.ac.uk/~mgk25/unicode.html 
> <http://www.cl.cam.ac.uk/%7Emgk25/unicode.html>
>

Si creés que hay que guardar las cosas como latin-1 o algún otro 
"encoding de 8 bits", todavía no caíste del todo :-)
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20110427/c57a8a53/attachment.html>


More information about the pyar mailing list