首页 > 其他分享 >Unicode 标准化

Unicode 标准化

时间:2022-09-18 22:55:23浏览次数:91  
标签:006E 00F1 标准化 0066 Unicode 0303 Normalization

Unicode 中有些特殊的字符,可以由其他不同的特殊字符组合出来。例如 ñ (U+00F1) 和 (U+006E U+0303)。这两个字符在展现和含义上是完全等价的,但其编码却是不同的。为了对这种字符进行比较,就需要在比较前先进行标准化 (Normalization) 处理。

Unicode 定义了四种标准化形式 (Unicode Normalization Form):

分解 分解再重组
标准等价 NFD (Normalization Form Canonical Decomposition) NFC (Normalization Form Canonical Composition)
兼容等价 NFKD (Normalization Form Compatibility Decomposition) NFKC (Normalization Form Compatibility Composition)

说明:

  • 分解与重组:
    • 分解:就是把字符能拆的全拆开,例如:
      • ñ (U+00F1) 拆成 U+006E U+0303。
    • 重组:就是把拆开的字符能组的再全组起来,例如:
      • (U+006E U+0303) 组合成 U+00F1。
  • 标准与兼容:
    • 标准等价:就是只有含义和长得完全相同的两个字符才相等,例如:
      • ñ (U+00F1) 和 (U+006E U+0303) 可以相等;
      • (U+FB00) 和 ff (U+0066 U+0066) 不能相等。
    • 兼容等价:就是只要长得差不多就可以相等了,标准等价的一定也是兼容等价的,例如:
      • (U+FB00) 和 ff (U+0066 U+0066) 也可以相等;
      • ñ (U+00F1) 和 (U+006E U+0303) 更是可以相等了。

示例:

说明 显示 标准化形式 标准化后
分解与重组的区别 ñ NFD/NFKD U+006E U+0303
分解与重组的区别 NFC/NFKC U+00F1
标准与兼容的区别 NFD/NFC U+FB00
标准与兼容的区别 NFKD/NFKC U+0066 U+0066
标准与兼容的区别 ff NFD/NFC/NFKD/NFKC U+0066 U+0066

相关文章:

标签:006E,00F1,标准化,0066,Unicode,0303,Normalization
From: https://www.cnblogs.com/val3344/p/16706152.html

相关文章