gpt4 book ai didi

python - unicodedata.normalize(form, unistr) 是如何工作的?

转载 作者:IT老高 更新时间:2023-10-28 21:11:51 25 4
gpt4 key购买 nike

在 API 文档中,http://docs.python.org/2/library/unicodedata.html#unicodedata.normalize .它说

Return the normal form form for the Unicode string unistr. Valid values for form are ‘NFC’, ‘NFKC’, ‘NFD’, and ‘NFKD’.`

文档比较模糊,谁能用一些例子解释一下valid values

最佳答案

我发现文档很清楚,但这里有一些代码示例:

from unicodedata import normalize

print '%r' % normalize('NFD', u'\u00C7') # decompose: convert Ç to "C + ̧"
print '%r' % normalize('NFC', u'C\u0327') # compose: convert "C + ̧" to Ç

两种 'D' (=decompose) 形式都将单个组合字符(如 ä)转换为两个字符(a + 两个点)。两种 'C' (=compose) 形式都相反。

这两种“K”形式用于将添加到 Unicode 的字符转换为兼容性目的。例如,为了支持不能在符号周围画圆圈的软件,有一组“圆圈数字”,如①(unicode number 2460)。当我们对其应用规范分解 (NFD) 时,它什么也不做:

print '%r' % normalize('NFD', u'\u2460')     # u'\u2460'

但是,兼容性分解(NFKD)会返回相应的“兼容”字符:

print '%r' % normalize('NFKD', u'\u2460')    # 1

http://en.wikipedia.org/wiki/Unicode_equivalence了解更多详情。

关于python - unicodedata.normalize(form, unistr) 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14682397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com