2013-05-21 11 views

risposta

18

È possibile stampare qualsiasi carattere Unicode utilizzando una sequenza di escape. Assicurati di creare una stringa Unicode.

print u'\u2713' 
+0

Mi piace in questo modo. Come sai come stampare ciascun carattere Unicode? Esiste un elenco esauriente di caratteri? –

+0

Io uso solo Google fidato :). Il seguente sito sembra piuttosto promettente se non sai cosa stai cercando: http://unicode-table.com/ – Jerome

+0

C'è anche un elenco su [Wikipedia] (http://en.wikipedia.org/wiki/List_of_Unicode_characters) , che uso di volta in volta. – lenz

3

Ti piace questa:

print u'\u2713'.encode('utf8') 

La codifica deve corrispondere a quello del terminale (o dove si sta inviando in uscita a).

+0

Questo è qualcosa che stavo cercando da un po ' –

8

Soluzione defining python source file encoding:

#!/usr/bin/python 
# -*- coding: UTF-8 -*- 

print '✓' 

http://ideone.com/dTW5D8

+1

Questo influisce anche sulla codifica dell'output o deve ancora essere specificato? – LJNielsenDk

+0

no, la codifica dell'output deve essere trattata separatamente (almeno in Python 2.x). La riga '# coding' dice solo all'interprete come interpretare il codice sorgente. – lenz

+0

La soluzione di cui sopra è un po 'implicita: poiché @chico non sta usando una stringa unicode, la stringa è già codificata implicitamente - con la codifica del file sorgente. Se hai cambiato la codifica del file, cambierebbe anche la codifica dell'output. Faresti meglio a scrivere 'print u'✓'.encode ('utf8')'. – lenz

6

Dal momento che Python 2.1 è possibile utilizzare la sequenza \N{name} escape per inserire caratteri Unicode con i loro nomi. Utilizzando questa funzione è possibile ottenere il check simbolo del punto in questo modo:

$ python -c "print(u'\N{check mark}')" 
✓ 

Nota: Per questa funzione per lavorare è necessario utilizzare stringhe Unicode letterale. Il prefisso u viene utilizzato per questo motivo. In Python 3 il prefisso non è obbligatorio poiché i valori letterali delle stringhe sono unicode per impostazione predefinita.

+0

Imparo qualcosa di nuovo ogni giorno! :-) – kkurian

Problemi correlati