【问题标题】:Is there a way to convert unicode to the nearest ASCII equivalent? [duplicate]有没有办法将 unicode 转换为最接近的 ASCII 等价物? [复制]
【发布时间】:2016-02-03 22:47:48
【问题描述】:

我会以土耳其语为例,例如“şğüı”变成“sgui”

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

我想知道是否有实现这种转换的库/方法

【问题讨论】:

标签: python unicode


【解决方案1】:

你问的是音译

试试Unidecode 库。

【讨论】:

  • 是否有任何非 GPL 替代 Unidecode?​​span>
  • @Rjak:上面链接的answer 由 Martín Muñoz del Río 怎么样。它使用unicodedata,它是 Python 标准库的一部分。
  • 你好@rodrigo - unicodedata 的问题是替换,而不是音译。对于我们的应用程序,最好能找到最接近的“等效”ASCII 字符(即音译)。例如,对于拉丁名称“Piekło”,Unidecode 将返回“Pieklo”,这正是我们想要的。 Unicodedata 根据您为行为参数传递的内容返回“Pieko”(删除)或“Piek?o”(替换)。
  • @Rjak:嗯,问题是 Unicode 没有将 ł 定义为组合字符,因此分解规范化技巧不起作用...如果您想要的字符集有限音译(例如,仅用于波兰语名称)您可以自己构建表格。除了那个和 Unidecode 我不知道其他的,对不起。
  • 不用抱歉,@rodrigo。我了解音译的复杂性,这就是我寻找图书馆的原因。我们的律师不允许我们在代码库的某些部分使用 GPL,因此找到一个非 GPL 库会很棒。
猜你喜欢
  • 1970-01-01
  • 2019-09-07
  • 1970-01-01
  • 1970-01-01
  • 2011-02-05
  • 1970-01-01
  • 1970-01-01
  • 2011-06-23
  • 2015-08-27
相关资源
最近更新 更多