NFC或NFD - 有什么区别?

时间:2014-10-23 09:43:48

标签: ingres

在Ingres中,DBA在创建支持Unicode的Ingres数据库时有两个选项。 createdb具有NFC(标准化表格C)的-i标志和NFD的-n标准化(标准化表格C)。文档没有区别,描述几乎相同。

我们可以假设没有差异,或者 之间存在一些差异吗?

1 个答案:

答案 0 :(得分:3)

区别在于字符是由(C)组成还是由分解(D)组成。

具有像ä这样的“额外位”的字母可以用不同的方式表示。有一个专门为带有两个点的a创建的Unicode代码点。这就是组合形式,NFC。另一方面,你可以将它表示为通常的“a”,然后是组合字符,添加两个点。那是分解形式,NFD。

分解形式占用更多空间,但组合形式使一些操作更难,例如比较字符串而忽略重音的差异。