Python,基于查找字典将非ascii转换为ascii

时间:2014-07-02 10:20:41

标签: python

在Python中,我需要将特殊字符转换为ascii字母。我在字典中有一系列翻译

dict_trans = {"U+1E9A":"a", "U+1EA0":"a"} # + more

my_char = "ẚ"

如何将my_char转换为(在这种情况下)a

我可以更改dict_trans中的字符格式(但要更改为什么)?

2 个答案:

答案 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'