在Python中,我需要将特殊字符转换为ascii字母。我在字典中有一系列翻译
dict_trans = {"U+1E9A":"a", "U+1EA0":"a"} # + more
my_char = "ẚ"
如何将my_char
转换为(在这种情况下)a
?
我可以更改dict_trans
中的字符格式(但要更改为什么)?
答案 0 :(得分:2)
在unidecode
模块中,您可以使用unidecode
功能。
>>> from unidecode import unidecode
>>> unidecode('ẚ')
'a'
答案 1 :(得分:2)
使用unicodedata
中的名称:
import unicodedata
unicodedata.name("a")
# 'LATIN SMALL LETTER A'
unicodedata.name("ẚ")
# 'LATIN SMALL LETTER A WITH RIGHT HALF RING'
unicodedata.lookup('LATIN SMALL LETTER A WITH RIGHT HALF RING')
# 'ẚ'
d = {'LATIN SMALL LETTER A WITH RIGHT HALF RING':'a'}
d['LATIN SMALL LETTER A WITH RIGHT HALF RING']
# 'a'