Python 有没有办法将unicode转换为最接近的ASCII等效格式?

Python 有没有办法将unicode转换为最接近的ASCII等效格式?,python,unicode,Python,Unicode,我将举土耳其语的例子,例如“şğı”变成“sgui” 我相信每种语言都有自己的转换方法,有时一个字符可能会转换成多个ASCII字符,如“alpha”/“phi”等 我想知道是否有一个库/方法可以实现这种转换您所问的是所谓的音译 试试图书馆 你指的是第一个答案吗?@MartínMuñozdelRío是的,没错,谢谢你有没有非GPL的Unidecode替代方案?@Rjak:关于上面由Martín Muñoz del Río链接的这个呢。它使用的unicodedata是Python标准库的一部分。对于

我将举土耳其语的例子,例如“şğı”变成“sgui”

我相信每种语言都有自己的转换方法,有时一个字符可能会转换成多个ASCII字符,如“alpha”/“phi”等


我想知道是否有一个库/方法可以实现这种转换

您所问的是所谓的音译


试试图书馆

你指的是第一个答案吗?@MartínMuñozdelRío是的,没错,谢谢你有没有非GPL的Unidecode替代方案?@Rjak:关于上面由Martín Muñoz del Río链接的这个呢。它使用的
unicodedata
是Python标准库的一部分。对于我们的应用程序,最好能找到最接近的“等效”ASCII字符(即音译)。例如,使用拉丁名“Piekło”,Unidecode将返回“Pieklo”,这正是我们想要的。Unicodedata返回“Pieko”(删除)或“Piek?o”(替换),具体取决于您对behavior参数传递的内容。@Rjak:问题是Unicode没有将
ł
定义为合成字符,因此分解规范化技巧不起作用。。。如果需要音译的字符集有限(例如,仅用于波兰名称),则可以自己构建表。除了那个和Unidecode,我不认识其他人,对不起。没必要抱歉,@rodrigo。我理解音译的复杂性,这就是我为什么要找图书馆的原因。我们的律师不允许我们在代码库的某些部分使用GPL,因此找到一个非GPL库将是非常棒的。