2015-11-03 120 views
3

我给的例子来自土耳其,例如“şğüı”变成“sgui”有没有办法将unicode转换为最接近的ASCII码?

我敢肯定,每一种语言都有它自己的转换方法,有时一个字符可能被转换到多个ASCII字符,如“阿尔法” /“披”等

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

+5

你的意思是这里的第一个答案:http://stackoverflow.com/questions/1207457/convert-a-unicode-string-to-a-string-in-python-containing-extra-symbols? –

+0

@MartínMuñozdelRío是的,正好,谢谢 –

回答

3

你所要求被称为音译

试试Unidecode库。

+0

Unidecode有没有非GPL的替代品? – Rjak

+1

@Rjak:这个[回答](https://stackoverflow.com/a/1207479/865874)由MartínMuñozdelRío链接。它使用属于Python标准库的'unicodedata'。 – rodrigo

+1

你好@rodrigo - unicodedata的问题在于它是替代品,而不是音译。对于我们的应用程序,最好能找到最接近的“等效”ASCII字符(即音译)。例如,使用拉丁名字“Piekło”,Unidecode会返回“Pieklo”,这就是我们想要的。根据您传递的行为参数,Unicodedata返回“Pieko”(删除)或“Piek?o”(替换)。 – Rjak

相关问题