【发布时间】:2019-04-08 03:58:51
【问题描述】:
以下代码取自ThisSO Post。
def unicodeToAscii(s):
return ''.join(
c for c in unicodedata.normalize('NFD', s)
if unicodedata.category(c) != 'Mn'
and c in all_letters
)
当我运行它时
print(unicodeToAscii('Ślusàrski'))
我得到以下输出
Slusarski
但是,当我只运行 unicodedata.normalize('NFD','Ślusàrski') 时,我得到了相同的旧字符串 Ślusàrski 作为输出。
函数中的代码只是做同样的事情,并忽略所有不属于Mn 类别和all_letters 中的字符。为什么我与 normalize 方法调用不一样?
【问题讨论】:
标签: python unicode-normalization