Kuinka saada merkin ASCII-arvo?

Miten saan merkin ASCII arvon int-arvona Pythonissa?

Ratkaisu

täältä:

funktio ord() saisi int-arvon. charin arvosta. Ja jos haluat muuntaa takaisin sen jälkeen, kun olet leikkinyt numeron, funktio chr() tekee tempun.

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

Python 2:ssa on myös unichr-funktio, joka palauttaa Unicode-merkin, jonka ordinaali on unichr-argumentti:

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

Python 3:ssa voit käyttää chr-funktiota unichr:n sijasta.


ord() - Python 3.6.5rc1 dokumentaatio3

ord() - Python 2.7.14 dokumentaatio

Kommentit (6)

Huomaa, että ord() ei anna sinulle ASCII-arvoa sinänsä, vaan merkin numeerisen arvon missä tahansa koodauksessa. Näin ollen ord('ä'):n tulos voi olla 228, jos käytät Latin-1-koodia, tai se voi aiheuttaa TypeError-virheen, jos käytät UTF-8-koodia. Se voi jopa palauttaa Unicode-koodipisteen sen sijaan, jos annat sille unicoden:

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

Etsit:

ord()
Kommentit (0)