Da qui:
la funzione ord() otterrebbe il valore int del char. E nel caso vogliate riconvertire dopo aver giocato con il numero, la funzione chr() fa il trucco.
>>> ord('a')
97
>>> chr(97)
'a'
>>> chr(ord('a') + 3)
'd'
>>>
In Python 2, c'è anche la funzione unichr
, che restituisce il carattere Unicode il cui ordinale è l'argomento unichr
:
>>> unichr(97)
u'a'
>>> unichr(1234)
u'\u04d2'
In Python 3 si può usare chr
invece di unichr
.
hr>
Nota che ord()
non ti dà il valore ASCII di per sé; ti dà il valore numerico del carattere in qualsiasi codifica sia. Pertanto il risultato di ord('ä')
può essere 228 se state usando Latin-1, o può sollevare un TypeError
se state usando UTF-8. Può anche restituire il codepoint Unicode se gli passate un unicode:
>>> ord(u'あ')
12354