2

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

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

我需要ASCII。如何得到它?(以下)

在此处输入图像描述

4

2 回答 2

6

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

# Assuming Python 3
s = "Йог".encode('cp1251')
for b in s:
    print(b)
于 2017-02-15T13:50:47.723 回答
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))
于 2018-12-11T09:32:14.993 回答