规范化Unicode

规范化Unicode,第1张

规范化Unicode

unipredata
模块提供一个
.normalize()
功能,您要标准化为NFC格式:

>>> unipredata.normalize('NFC', u'u0061u0301')u'xe1'>>> unipredata.normalize('NFD', u'u00e1')u'au0301'

NFC或“普通形式组合”返回组成的字符,NFD,“普通形式分解”可为您提供分解的组合字符。

附加的NFKC和NFKD表单处理兼容性代码点。例如,U + 2160(罗马数字ONE)与U +
0049(拉丁字母大写字母I)实际上是一样的东西,但是它以Unipre标准存在,以保持与单独处理它们的编码的兼容性。使用NFKC或NFKD形式,除了组成或分解字符外,还将所有“兼容”字符替换为其规范形式:

>>> unipredata.normalize('NFC', u'u2167')  # roman numeral VIIIu'u2167'>>> unipredata.normalize('NFKC', u'u2167') # roman numeral VIIIu'VIII'

注意,不能保证组合形式和分解形式是可交换的。将组合字符归一化为NFC形式,然后将结果转换回NFD形式并不总是得到相同的字符序列。Unipre标准维护例外列表;
出于各种原因,此列表中的字符是可组合的,但不能分解为它们的组合形式。另请参阅成分排除表中的文档。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5647256.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存