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

Python,基于查找字典将非ascii转换为ascii,python,Python,在Python中,我需要将特殊字符转换为ascii字母。我在字典里有一系列的译文 dict_trans = {"U+1E9A":"a", "U+1EA0":"a"} # + more my_char = "ẚ" 如何将my_char转换为(在本例中)a 我可以更改dict\u trans中字符的格式(但更改为什么?从模块中,您可以使用unidecode功能 >>> from unidecode import unidecode >>> unidecode(

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

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

my_char = "ẚ"
如何将
my_char
转换为(在本例中)
a

我可以更改
dict\u trans
中字符的格式(但更改为什么?

从模块中,您可以使用
unidecode
功能

>>> from unidecode import unidecode
>>> unidecode('ẚ')
'a'
在模块中,您可以使用
unidecode
功能

>>> from unidecode import unidecode
>>> unidecode('ẚ')
'a'
使用下列名称:

使用下列名称:


@卢茨霍恩事实上不是,如果你放大你会看到它实际上是别的东西。当然这不是最好的例子。@LutzHorn事实上不是,如果你放大你会看到它实际上是其他东西。当然这不是最好的例子。我有一本几百种翻译的字典。计算每个字符的实际字符(并能够将其输入到我的代码中)可能不太可行。给定unicode字符代码
U+1EA0
,您可以很容易地用
unichr(0x1ea0)
或字符串中的转义序列
\u1ea0
获得相应的字符(请参阅文档)@user984003如果您有权访问字符的名称,您可以使用我编辑的答案中的方法。谢谢。这更直接地回答了我的问题,但我决定尝试一下unidecode的答案,并摆脱我的翻译词典。我拥有的是一本几百种翻译的词典。计算每个字符的实际字符(并能够将其输入到我的代码中)可能不太可行。给定unicode字符代码
U+1EA0
,您可以很容易地用
unichr(0x1ea0)
或字符串中的转义序列
\u1ea0
获得相应的字符(请参阅文档)@user984003如果您有权访问字符的名称,您可以使用我编辑的答案中的方法。谢谢。这更直接地回答了我的问题,但我决定尝试一下unidecode的答案,并删除我的翻译字典。这给了我一个错误,即使在安装和导入模块之后。但它是这样工作的:从unidecode导入unidecode;unidecode(u'a');有什么原因我不能那样使用吗?什么错误?不,我看不到任何与unidecode.unidecode有关的内容。不过,模块代码只显示此功能。我将进行编辑。这会给我一个错误,即使在安装和导入模块之后也是如此。但它是这样工作的:从unidecode导入unidecode;unidecode(u'a');有什么原因我不能那样使用吗?什么错误?不,我看不到任何与unidecode.unidecode有关的内容。不过,模块代码只显示此功能。我来编辑。