由于我无法控制的原因,我必须将带有一些Unicode字符的(英文)文本转换为ASCII(以便在其他地方进行进一步处理)。例如:
Deutsche Börse
当我这样做时:
u'Deutsche Börse'.encode(encoding='ascii', errors='replace')
我得到了
b'Deutsche B?rse'
这不是我需要的。理想情况下,我想获得Deutsche Borse
。
我当然意识到绝大多数Unicode字符是不可能的。但对于许多重要的名字,比如说Quebec
,这原则上是可能的。
我该怎么做?
答案 0 :(得分:1)
使用unicodedata
模块。
<强>实施例强>
import unicodedata
s = u'Deutsche Börse'
print unicodedata.normalize('NFKD', s).encode('ascii', 'ignore')
<强>输出:强>
Deutsche Borse
答案 1 :(得分:1)
以下是您的需求: 要转换为ASCII,您可能需要尝试unicodedata
import unicodedata
data= u'Deutsche Börse'
print (unicodedata.normalize('NFKD', data).encode('ascii','ignore'))
输出
b'Deutsche Borse'