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

问题描述 投票:0回答:3

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

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

我需要 ASCII。如何获得? (下)

python unicode ascii cyrillic ord
3个回答
6
投票

你不能; ASCII 中没有西里尔字母。您显示的图表适用于众多 “扩展 ASCII” 字符集之一;具体来说,它似乎是Windows-1251(又名CP1251)。为了获得此编码中字符的代码点,您需要首先将字符串编码为 CP1251,然后获取结果字节的值:

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

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

0
投票

如果我正确理解您的问题,那么这个解决方案应该适合您。

a = [chr(i) for i in range(1072, 1104)]
print(a)
© www.soinside.com 2019 - 2024. All rights reserved.