&引用;ASCII-ish“;Python中某些Unicode字符的近似值
出于我无法控制的原因,我必须将带有一些Unicode字符的(英文)文本转换为ASCII(以便在其他地方进一步处理)。例如:&引用;ASCII-ish“;Python中某些Unicode字符的近似值,python,text,unicode,ascii,Python,Text,Unicode,Ascii,出于我无法控制的原因,我必须将带有一些Unicode字符的(英文)文本转换为ASCII(以便在其他地方进一步处理)。例如: Deutsche Börse 当我这样做时: u'Deutsche Börse'.encode(encoding='ascii', errors='replace') 我明白了 这不正是我需要的。理想情况下,我希望获得Deutsche Borse 我当然意识到绝大多数Unicode字符是不可能的。但是对于许多重要的名字,比如说魁北克省,原则上这是可能的 我如何才能做到
Deutsche Börse
当我这样做时:
u'Deutsche Börse'.encode(encoding='ascii', errors='replace')
我明白了
这不正是我需要的。理想情况下,我希望获得Deutsche Borse
我当然意识到绝大多数Unicode字符是不可能的。但是对于许多重要的名字,比如说魁北克省,原则上这是可能的
我如何才能做到这一点?使用
unicodedata
模块
Ex:
import unicodedata
s = u'Deutsche Börse'
print unicodedata.normalize('NFKD', s).encode('ascii', 'ignore')
Deutsche Borse
输出:
import unicodedata
s = u'Deutsche Börse'
print unicodedata.normalize('NFKD', s).encode('ascii', 'ignore')
Deutsche Borse
以下是您需要的:
要转换为ASCII,您可能需要尝试Unicode数据
import unicodedata
data= u'Deutsche Börse'
print (unicodedata.normalize('NFKD', data).encode('ascii','ignore'))
输出
b'Deutsche Borse'
一个德国人会说它应该被转换成“德意志证交所”。如果你只需要删除变音符号,那么它就是我没有足够的声誉来评论的复制品,但我只是在谷歌上搜索了一下,发现了一个类似的问题:一个好答案的可能复制品,但是,不幸的是,由于在彼此不知情的情况下并行处理一个答案,一个拉凯什的有效复制品(他恰好在大约一分钟前按了
发布了你的答案)。