【发布时间】:2019-10-02 07:33:20
【问题描述】:
我有兴趣学习如何从文本中去除变音符号。也就是说,我正试图更好地理解以下代码行中发生的事情,这是我在 2017 年的一篇文章中发现的 (How to replace accented characters in python?):
import unicodedata
text = unicodedata.normalize('NFD', text).encode('ascii','ignore').decode('utf-8')
这是我的粗略理解:
unicodedata.normalize('NFD',text) 将每个字符转换为其分解形式(例如 à 变为 a),.
.encode('ascii','ignore') 将规范化文本转换为 ascii 字节字符串 (b'string') 并忽略任何错误。
.decode('utf-8') 返回从给定字节解码的字符串,但这是我卡住的地方。为什么不改用.decode('ascii')?两种编码是否重叠?
【问题讨论】:
标签: python decode encode diacritics