Python - 用非重音代替重音字符

时间:2015-11-27 02:28:33

标签: python regex unicode

我正在解析一些HTML,有时当我读取数据é时,我会得到一些像doc = urllib2.urlopen(url).read()这样的字符,如何找到并替换这些字符并使用非重音等效字符?

变量doc是一个字节字符串,我试图将它转换为像这样的unicode字符串

doc = doc.encode('utf-8')
doc = strip_accents(doc)
doc = doc.decode('utf-8')

strip_accents

的位置
def strip_accents(s):
    return ''.join(c for c in unicodedata.normalize('NFD', s) if unicodedata.category(c) != 'Mn')

从这个问题What is the best way to remove accents in a Python unicode string?

但我收到错误

UnicodeDecodeError: 'ascii' codec can't decode byte 0xa9 in position 161: ordinal not in range(128)

当我尝试编码doc

如何更改非重音字符的重音?

0 个答案:

没有答案