Comment obtenir la valeur ASCII d'un caractère ?

Comment obtenir la valeur [ASCII][1] d'un caractère sous forme de int en [Python][2] ?

[1] : http://en.wikipedia.org/wiki/ASCII [2] : http://en.wikipedia.org/wiki/Python_%28programming_language%29

Solution

De [ici][1] :

la fonction ord() obtiendrait la valeur int du caractère. Et au cas où vous voudriez reconvertir après avoir joué avec le nombre, la fonction chr() fait l'affaire.

>>> ord('a')
97
>>> chr(97)
'a'
>>> chr(ord('a') + 3)
'd'
>>>

En Python 2, il y a aussi la fonction unichr, qui retourne le caractère [Unicode][2] dont l'ordinal est l'argument unichr :

>>> unichr(97)
u'a'
>>> unichr(1234)
u'\u04d2'

En Python 3, vous pouvez utiliser chr à la place de unichr.


[ord() - Documentation de Python 3.6.5rc1][3]

[ord() - Documentation Python 2.7.14][4]

[1] : http://mail.python.org/pipermail/python-win32/2005-April/003100.html [2] : http://en.wikipedia.org/wiki/Unicode [3] : https://docs.python.org/3/library/functions.html#ord [4] : https://docs.python.org/2/library/functions.html#ord

Commentaires (6)

Notez que ord() ne vous donne pas la valeur ASCII en elle-même, mais la valeur numérique du caractère, quel que soit le codage utilisé. Par conséquent, le résultat de ord('ä') peut être 228 si vous utilisez Latin-1, ou il peut lever un TypeError si vous utilisez UTF-8. Il peut même retourner le point de code Unicode à la place si vous lui passez un unicode :

>>> ord(u'あ')
12354
Commentaires (2)

Vous êtes à la recherche de :

ord()
Commentaires (0)