在Python中将Unicode转换为双ASCII字母(ß;->;ss)

在Python中将Unicode转换为双ASCII字母(ß;->;ss),python,unicode,encoding,Python,Unicode,Encoding,一些Unicode字符也可以写成两个ASCII字母(例如:ß->ss,å->aa)。有没有办法在Python中转换这些内容,而不必列出所有内容 稍后编辑: 这种转换是由lof网站完成的,包括Stackoverflow(此页面的url已转换)和Twitter。我很好奇他们是怎么做到的。没有通用的规则 您可以尝试将模块将Unicode文本转换为ASCII。由于这些转换的规则因文化和上下文而异(ß->ss并不总是合法的,有时ß->sz更合适),因此它可能不是默认模块。å->aa可能是有效转换,也可能不

一些Unicode字符也可以写成两个ASCII字母(例如:ß->ss,å->aa)。有没有办法在Python中转换这些内容,而不必列出所有内容

稍后编辑:
这种转换是由lof网站完成的,包括Stackoverflow(此页面的url已转换)和Twitter。我很好奇他们是怎么做到的。

没有通用的规则


您可以尝试将模块将Unicode文本转换为ASCII。

由于这些转换的规则因文化和上下文而异(ß->ss并不总是合法的,有时ß->sz更合适),因此它可能不是默认模块。å->aa可能是有效转换,也可能不是有效转换,取决于locale@STATUS作为奥地利人,我想不出一个词可以用sz代替ss来代替ß。我认为“新”的拼写改革可能与此有关,我确实经常在旧书中看到这一点。或者我现在错过了所有的例子;)@Voo:我认为你遗漏了一些单词,简单地说,如果你这样做的话,就会变得非常模糊。示例:Maße->Masse。把它写成Masze会让你明白它的意思,即使它看起来很“奇怪”:。。。如果您没有上下文(即单词单独出现在表格标题中而不是句子中,这将导致混淆)。类似的推理也适用于一些全大写的单词。@Voo:同意。但再举一个例子:有些文化中有ö会将其转换为oe,而另一些文化只是将其转换为o。现在机器并不擅长这种猜测工作。因此,您可以根据文化(特别是如果您知道的话)接近,但没有通用的解决方案。