Jak získat hodnotu ASCII znaku

Jak získám hodnotu znaku ASCII jako int v Pythonu?

Řešení

Z zde:

funkce ord() by získala hodnotu int znaku. A v případě, že chcete převést zpět po hraní si s číslem, funkce chr() to udělá.

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

V Pythonu 2 existuje také funkce unichr, která vrací znak Unicode, jehož pořadové číslo je argument unichr:

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

V Pythonu 3 můžete místo unichr použít chr.


ord() - Dokumentace k Pythonu 3.6.5rc1

ord() - dokumentace k Pythonu 2.7.14

Komentáře (6)

Všimněte si, že ord() vám neposkytne hodnotu ASCII jako takovou; poskytne vám číselnou hodnotu znaku v jakémkoli kódování. Proto výsledek ord('ä') může být 228, pokud používáte Latin-1, nebo může vyvolat TypeError, pokud používáte UTF-8. Může dokonce místo toho vrátit kódový bod Unicode, pokud mu předáte unicode:

>>> ord(u'あ')
12354
Komentáře (2)

Hledáte:

ord()
Komentáře (0)