[pyar] usando caracteres unicode

Alejandro Santos listas en alejolp.com
Sab Ago 21 19:34:01 ART 2010


2010/8/21 Andrés Gattinoni <andresgattinoni en gmail.com>:
> 2010/8/21 Federico Mendez <mendezfederico87 en gmail.com>:
>> Hola, quería saber si hay alguna ventaja o deventaja de usar:
>>
>> # -*- coding: utf-8 -*-
>>
>> al principio de un programa en vez de usar esto:
>>
>> import locale
>> locale.getdefaultlocale()
>>
>> ?? O si tienen siquiera algo que ver... jajaa
>
> No sé si no estoy mandando fruta, pero lo que tengo entendido es que esto:
>
>> # -*- coding: utf-8 -*-
>
> Le sirve al intérprete de Python para saber qué encoding debe utilizar
> para leer el código de tu archivo.

No te atajes, esta bien lo que dijiste :)

> Con esto si, por ejemplo, metés un caracter acentuado o algo así,
> Python no tiene ningún drama, sino te tira un error como este:
>
>  File "test.py", line 1
> SyntaxError: Non-ASCII character '\xc3' in file test.py on line 1, but
> no encoding declared; see http://www.python.org/peps/pep-0263.html for
> details
>
> Por otro lado, supongo que el módulo locale te sirve para codificar
> los textos que utilices en tu aplicación, tanto los que vayas a
> mostrar como los que vayas a recibir.
>

Mas precisamente, el texto que se lee por entrada y salida estándar,
sys.stdin y sys.stdout. Eso se puede ver más claro con:

>>> sys.stdin.encoding
'UTF-8'
>>> sys.stdout.encoding
'UTF-8'

En mi Linux la entrada y salida estándar maneja los caracteres en
UTF-8. En Windows suele ser CP-1252; no se cual es el Mac.

-- 
Alejandro Santos
http://alejolp.com.ar



More information about the pyar mailing list