由于我无法控制的原因,我必须将带有一些Unicode字符的(英文)文本转换为ASCII(以便在其他地方进行进一步处理)。例如:

Deutsche Börse


当我做:

u'Deutsche Börse'.encode(encoding='ascii', errors='replace')


我懂了

b'Deutsche B?rse'


这不是我真正需要的。理想情况下,我想获取Deutsche Borse

我当然意识到不可能实现绝大多数Unicode字符。但是对于许多重要的名称,例如Quebec,原则上是可行的。

我怎样才能做到这一点?

最佳答案

这是您需要的:
要转换为ASCII,您可能需要尝试unicodedata

import unicodedata

data= u'Deutsche Börse'

print (unicodedata.normalize('NFKD', data).encode('ascii','ignore'))


输出量

 b'Deutsche Borse'

09-11 19:52