Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;ASCII-ish“;Python中某些Unicode字符的近似值_Python_Text_Unicode_Ascii - Fatal编程技术网

&引用;ASCII-ish“;Python中某些Unicode字符的近似值

&引用;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字符是不可能的。但是对于许多重要的名字,比如说魁北克省,原则上这是可能的 我如何才能做到

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

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'

一个德国人会说它应该被转换成“德意志证交所”。如果你只需要删除变音符号,那么它就是我没有足够的声誉来评论的复制品,但我只是在谷歌上搜索了一下,发现了一个类似的问题:一个好答案的可能复制品,但是,不幸的是,由于在彼此不知情的情况下并行处理一个答案,一个拉凯什的有效复制品(他恰好在大约一分钟前按了
发布了你的答案)。