【问题标题】:Which is the better Unicode Normalization Form?哪个是更好的 Unicode 规范化形式?
【发布时间】:2011-07-20 09:14:35
【问题描述】:

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

【问题讨论】:

    标签: forms normalization dreamweaver unicode-normalization


    【解决方案1】:

    为了什么?保存文件,使用 NFC 作为网络字符模型使用它(严格来说,W3C 规范化坚持流在 NFC 中,并且当 HTML 或 XML 中的实体转换为它们所代表的字符时,它仍然在 NFC 中)。它产生实际影响的可能性很小,尽管它可以阻止一些相当模糊的问题,让某人感到不安。

    规范化使某些等效序列产生相同的流。例如,U+0065 (e) 后跟 U+0301(组合锐音符)相当于单独的 U+00E9 (é)。

    NFD 将所有此类字符串拆分为其组成部分(例如,将 U+00E9 转换为 U+0065,然后是 U+0301)。如果一行中有两个或多个组合字符,它们会根据给出一致性的规则重新排序(ḉ 可以有 cedilla 后跟 accute 或 accute 后跟 cedilla,我们需要一致的顺序产生相同的字符串)。大多数情况下,NFD 可用于作为其他任务的一部分的内部处理,例如去除重音或生成 NFC。

    NFC 从 NFD 开始,然后在可能的情况下再次将字符组合在一起,除非有一些例外情况,以确保在一个 Unicode 版本中的规范化字符串在另一个版本中仍然如此。

    NFKD 在替换某些相似字符方面比 NFD 更进一步。 ⁵ 例如被替换为 5。这会“损坏”文本(用户可能出于充分的理由合理地选择 ⁵ 而不是 5)但对于搜索很有用(在 google 上搜索“fiſh”并返回“fish”的结果,因为它将 long-s 与 short-s 相同)并在某些情况下作为限制,以避免具有相似但不同字符的安全问题。 NKFC先做NFKD,然后用和NFC一样的方式组合。

    http://unicode.org/reports/tr15/ 表示完全瘦,“使用 NFC 但不要担心”重复简短的回答。

    【讨论】:

      猜你喜欢
      • 2012-06-29
      • 1970-01-01
      • 1970-01-01
      • 2013-05-04
      • 1970-01-01
      • 2011-03-18
      相关资源
      最近更新 更多