[Python] carattere speciale "°"

Daniele Varrazzo piro a develer.com
Mar 22 Nov 2011 20:57:47 CET


On Tue, 22 Nov 2011 20:49:34 +0100, Riccardo mancuso
<mancuso.riccardo63 a gmail.com> wrote:
> salve a tutti,
> come si fa ad visualizzare il simbolo del grado ?
> ossia, se scrivo:
> 
> seq=["2.4°","1.5°"]
> 
> pythoni visualizza:
> 
> print seq
> ['2.4\xc2\xb0', '1.5\xc2\xb0']
> 
> come convertire quei caratteri strani nel simbolo del grado ?
> grazie.
> ciao

Se fai il print di una lista, gli elementi vengono stampati usando la
funzione "repr", che rende riproducibile qualunque stringa coi soli ascii,
risultando in quello che vedi.

Prova con

     print " ".join(seq)

che genera una stringa codificata in utf-8 e la stampa su stdout, che
assumo essere codificato in utf-8, risultando nel carattere che cerchi (o
in un carattere diverso, o in un errore, se qualcuna di queste assunzioni è
sbagliata).

Se poi ti interessa evitare di rantolare nel buio degli encoding, parti
col leggere il mitico articolo "The Absolute Minimum Every Software
Developer Absolutely, Positively Must Know About Unicode and Character Sets
(No Excuses!)" <http://www.joelonsoftware.com/articles/Unicode.html> e
adatta questi concetti a Python (le funzioni unicode.encode() e
str.decode() sono i mattoncini di base di tutta la costruzione).

-- 
Daniele Varrazzo - Develer S.r.l. 
http://www.develer.com


Maggiori informazioni sulla lista Python