在需要比较字符串的程序中使用字符的多种表示会产生问题。 为了修正这个问题,你可以使用unicodedata模块先将文本标准化:
s1 = 'Spicy Jalapeu00f1o' s2 = 'Spicy Jalapenu0303o' print(s1==s2) # False
两个字符串表达不一样,可以使用unicodedata模块先将文本标准化:
import unicodedata # normalize() 第一个参数指定字符串标准化的方式。 NFC表示字符应该是整体组成(比如可能的话就使用单一编码),而NFD表示字符应该分解为多个组合字符表示 t1=unicodedata.normalize("NFC",s1) t2=unicodedata.normalize("NFC",s2 ) print(t1==t2) # True