在Dreamweaver上,我有四个选择:C,D,KC,KD。我应该选择哪一个?为什么?

最佳答案

为了什么?保存文件,使用NFC,因为Web字符模型使用该文件(严格来说,W3C规范化坚持认为,流既在NFC中,又在将HTML或XML中的实体转换为它们表示的字符时,它仍在NFC中)。虽然它可以阻止一些相当晦涩的问题使某人陷入困境,但它在实际中将发挥作用的几率很小。

规范化使某些等效序列产生相同的流。例如,U + 0065(e)后跟U + 0301(结合了重音符号)本身就等同于U + 00E9(é)。

NFD将所有此类字符串拆分为它们的组成部分(例如,将U + 00E9转换为U + 0065,然后转换为U + 0301)。如果连续出现两个或多个组合字符,则会根据给出一致性的规则对它们进行重新排序(ḉ可能让cedilla后面跟有the Accut或the accute后面是cedilla,我们需要有一个一致的顺序才能有产生的相同字符串)。通常,NFD可用于内部处理,作为另一任务的一部分,例如剥离口音或生产NFC。

NFC以NFD开头,然后在可能的情况下再次将字符重新组合在一起,除非出现一些异常(exception)情况,以确保使用一个版本的Unicode归一化的字符串保留在另一个版本中。

NFKD在替换某些相似字符方面比NFD更进一步。例如,⁵被替换为5。这会“损坏”文本(用户有充分的理由可能会选择⁵超过5),但对于搜索(在Google上搜索“fiſh”并返回“fish”的结果)非常有用在某些情况下,它会将长号与短号相同,并将其视为限制,以避免使用相似但不同的字符的安全性问题。 NKFC首先执行NFKD,然后以与NFC相同的方式进行合并。

http://unicode.org/reports/tr15/表示完整的瘦身,并“使用NFC,但不用担心”以重复简短的答案。

关于forms - 哪个是更好的Unicode规范化形式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5389974/

10-12 13:17