2013-03-28 36 views

回答

1

你的結論是正確的。 Unicode標準第15號附件狀態條Design Goals

toNFKC(x) = toNFC(toNFKC(x)) 
toNFKD(x) = toNFD(toNFKD(x)) 

關於穩定,如果歸一化的字符串不包含任何未分配的代碼點,這將保持統一的未來版本真。

+0

六個月後!非常感謝。現在有人能向我解釋我怎麼會錯過這個? ;) –

0

我發現here,指出以下:

換句話說,NFC和NFKC的組合物相是相同 -only其分解相位相差,與NFKC施加兼容性分解。

然後也有這樣的:

有正常化的兩種形式,其將複合字符:規範化形式C和規範化表KC。 這些之間的差異取決於所得到的文本是否是一個規範相當於原來的非標準化文本或兼容性上等同於原始非標準化文本。(在NFKC和NFKD,一個K用於放置兼容性以避免與下放置組合物的混淆。)這兩種類型的歸一化可以在不同的情況下是有用的。

前三圖中,NFKD形式總是一樣的NFD形式,並且NFKC形式總是一樣的NFC形式,所以爲了簡單起見而省略那些列。

這是我可以從文本中挑選出來的文字,這些文字可能會對您的問題的至少一部分有所瞭解。希望它可以幫助

也有此表中Wikipedia article

NFD 規範化表標準分解:字符由規範等價分解,並結合多個字符排列在一個特定的順序。

NFC 規範化形式規範組成:字符被分解,然後通過規範等價重組。

NFKD 規範化表兼容性分解:字符由兼容性分解,和多個結合字符排列在一個特定的順序。

NFKC 標準化形式相容性組成:字符被相容性分解,然後通過規範等價重新組合。

綜觀這些東西是什麼的解釋,我不認爲你可以得出結論,一個暗示對方。NFD按經典等值分解,而NFKD按兼容性分解。

在同一篇文章還指出:

所述等價標準可以是經典的(NF)或兼容性(NFK)。

對我來說,這意味着它的規範或其兼容性。 NFD和NFKD做不同的事情。


在這種implementation notes文章就指出:

對於所有版本,甚至之前的Unicode 4.1,以下政策如下:

規範化字符串保證是穩定的;也就是說,一旦規範化,就會根據所有將來的Unicode版本對字符串進行規範化。

相關問題