De aquí:
la función ord() obtendría el valor int del char. Y en caso de que quieras convertir de nuevo después de jugar con el número, la función chr() hace el truco.
>>> ord('a')
97
>>> chr(97)
'a'
>>> chr(ord('a') + 3)
'd'
>>>
En Python 2, también existe la función unichr
, que devuelve el carácter Unicode cuyo ordinal es el argumento unichr
:
>>> unichr(97)
u'a'
>>> unichr(1234)
u'\u04d2'
En Python 3 puedes usar chr
en lugar de unichr
.
Tenga en cuenta que ord()
no le da el valor ASCII per se; le da el valor numérico del carácter en cualquier codificación que esté. Por lo tanto, el resultado de ord('ä')
puede ser 228 si está usando Latin-1, o puede lanzar un TypeError
si está usando UTF-8. Incluso puede devolver el punto de código Unicode si le pasas un unicode:
>>> ord(u'あ')
12354