如何在Python中获取ASCII西里尔字符代码?

时间:2017-02-15 13:43:15

标签: python unicode ascii cyrillic ord

ord()返回unicode代码,我需要ascii。

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

我需要ASCII。怎么弄? (下同)

enter image description here

2 个答案:

答案 0 :(得分:5)

你不能; ASCII中没有西里尔字符。您显示的图表是许多"extended ASCII"字符集中的一个;具体来说,它似乎是Windows-1251(a.k.a. CP1251)。为了在此编码中获取字符的代码点,您需要首先将字符串编码为CP1251,然后获取结果字节的值:

# Assuming Python 3
s = "Йог".encode('cp1251')
for b in s:
    print(b)

答案 1 :(得分:0)

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))