文件名称:将Unicode文本标准化-python cookbook(第3版)高清中文完整版
文件大小:4.84MB
文件格式:PDF
更新时间:2024-06-29 23:05:53
python cookbook 第3版 高清 中文完整版
2.9 将Unicode文本标准化 问题 你正在处理Unicode字符串,需要确保所有字符串在底层有相同的表示。 解决方案 在Unicode中,某些字符能够用多个合法的编码表示。为了说明,考虑下面的这个例子: >>> s1 = 'Spicy Jalape\u00f1o' >>> s2 = 'Spicy Jalapen\u0303o' >>> s1 'Spicy Jalapeño' >>> s2 'Spicy Jalapeño' >>> s1 == s2 False >>> len(s1) 14 >>> len(s2) 15 >>> 这里的文本”Spicy Jalapeño”使用了两种形式来表示。 第一种使用整体字符”ñ”(U+00F1), 第二种使用拉丁字母”n”后面跟一个”~”的组合字符(U+0303)。 在需要比较字符串的程序中使用字符的多种表示会产生问题。 为了修正这个问题,你可 以使用unicodedata模块先将文本标准化: