Как получить ASCII код кириллического символа в Python?

ord() возвращает код Unicode, и мне нужно ASCII.

>>> s = "Йог" #cyrillic
>>> for char in s:
...     print(ord(char))
... 
1049 #unicode
1086 #unicode
1075 #unicode

и мне нужен ASCII. Как получить его? (ниже)

введите описание изображения здесь

3 ответа

Решение

Вы не можете; в ASCII нет символов кириллицы. Диаграмма, которую вы показали, относится к одному из множества "расширенных наборов символов ASCII"; в частности, это Windows-1251 (он же CP1251). Чтобы получить кодовую точку символа в этой кодировке, вам необходимо сначала закодировать строку как CP1251, а затем принять значение результирующего байта:

# Assuming Python 3
s = "Йог".encode('cp1251')
for b in s:
    print(b)
glagolitsa = "А,Б,В,Г,Д,Е,Ё,Ж,З,И,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ъ,Ы,Ь,Э,Ю,Я"
Glagolitsa = glagolitsa.split(',')
Glagolitsa

for i in range(len(Glagolitsa)):
    char = Glagolitsa[i]
    print(ord(char))

glagolitsa = glagolitsa.lower().split(',')

for i in range(len(glagolitsa)):
    char = glagolitsa[i]
    print(ord(char))

for i in range(1040, 1104):
    print(chr(i))

Если я правильно понимаю вашу проблему, то это решение должно вам подойти.

      a = [chr(i) for i in range(1072, 1104)]
print(a)
Другие вопросы по тегам