相关疑难解决方法(0)

拉丁-1到ascii

我有一个带有重音拉丁字符的unicode字符串,例如

n=unicode('Wikipédia, le projet d’encyclopédie','utf-8')
Run Code Online (Sandbox Code Playgroud)

我想把它转换成普通的ascii,即'Wikipedia,le projet dencyclopedie',所以所有的尖锐/重音,cedilla等应该被删除

最快的方法是什么,因为需要完成匹配长自动完成下拉列表

结论: 作为我的标准之一是速度,Lennart的"为unicode编码/解码注册你自己的错误处理程序"给出了最好的结果(参见Alex的答案),随着越来越多的字符拉丁语,速度差异进一步增加.

这是我正在使用的转换表,也修改了错误处理程序,因为它需要处理从error.start到error.end的所有未编码的char.

# -*- coding: utf-8 -*-
import codecs

"""
This is more of visual translation also avoiding multiple char translation
e.g. £ may be written as {pound}
"""
latin_dict = {
u"¡": u"!", u"¢": u"c", u"£": u"L", u"¤": u"o", u"¥": u"Y",
u"¦": u"|", u"§": u"S", u"¨": u"`", u"©": u"c", u"ª": u"a",
u"«": u"<<", u"¬": u"-", u"­": u"-", u"®": u"R", u"¯": u"-",
u"°": u"o", u"±": u"+-", u"²": u"2", u"³": u"3", …
Run Code Online (Sandbox Code Playgroud)

python unicode

16
推荐指数
3
解决办法
9390
查看次数

标签 统计

python ×1

unicode ×1