koddla

Yazılımcıları bilgi ile güçlendirir.

Python’da bir karakterin ASCII değeri nasıl alınır?

Python’da bir karakterin ASCII değerini int olarak nasıl alabiliriz?

Bu dökümana göre:

ord() fonksiyonu karakterin int değerini getirir. Ve bir takım işlemler yaptıktan sonra tekrar geri dönüştürmek isterseniz, chr() fonksiyonu işe yarar.

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

Python 2’de, Unicode karakterini döndüren unichr fonksiyonu bulunur:

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

chr yerine Python 3’te unichr kullanabilirsiniz.


Not: Burada ord() size “tam olarak” ascii değerini vermez (Python 3.6 ve Python 2.7 belgeleri). Hangi karakter kodlamasındaysanız o kodlamadaki karakterin sayısal değerini verir. Bu nedenle, Latin-1 kullanıyorsanız ord('ä') sonucu 228 olabilir veya UTF-8 kullanıyorsanız bir TypeError oluşturabilir.

Peki hangi karakter kodlamasında olduğumuzu nasıl bileceğiz?

Bu ilgilendiğimiz nesne türüne bağlı. Python3 (str) varsayılan olarak unicode‘dur. Python3 (byte): str(b'\xc3\x9c', 'ascii')UnicodeDecodeError hatası verir. Python3 (byte): str(b'\xc3\x9c', 'utf-8') Ü döndürür.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Back to top