由于我无法控制的原因,我必须将带有一些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'