NormalizationForm 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
定义要执行的规范化类型。
public enum class NormalizationForm
public enum NormalizationForm
[System.Runtime.InteropServices.ComVisible(true)]
public enum NormalizationForm
type NormalizationForm =
[<System.Runtime.InteropServices.ComVisible(true)>]
type NormalizationForm =
Public Enum NormalizationForm
- 继承
- 属性
字段
| 名称 | 值 | 说明 |
|---|---|---|
| FormC | 1 | 指示使用完全规范分解规范化 Unicode 字符串,然后用主要复合替换序列(如果可能)。 |
| FormD | 2 | 指示使用完全规范分解规范化 Unicode 字符串。 |
| FormKC | 5 | 指示 Unicode 字符串是使用完全兼容性分解规范化的,然后是用其主复合替换序列(如果可能)。 |
| FormKD | 6 | 指示使用完全兼容性分解规范化 Unicode 字符串。 |
注解
某些 Unicode 序列被视为等效序列,因为它们表示相同的字符。 例如,以下项被视为等效项,因为其中任何一项都可用于表示“ắ” :
“\u1EAF” (U+1EAF 拉丁文小写字母 A 与短音和急性)
“\u0103\u0301” (U+0103 拉丁文小写字母 A 与 BREVE + U+0301 组合急性口音)
“\u0061\u0306\u0301” (U+0061 拉丁文小写字母 A + U+0306 组合布雷夫 + U+0301 组合急性口音)
但是,序号(即二进制)比较认为这些序列不同,因为它们包含不同的 Unicode 代码值。 在执行序号比较之前,应用程序必须规范化这些字符串,将其分解为其基本组件。
每个复合 Unicode 字符映射到一个或多个字符的更基本序列。 分解过程将字符串中的复合字符替换为其更基本的映射。 完全分解以递归方式执行此替换,直到无法进一步分解字符串中的字符。
Unicode 定义了两种类型的分解:兼容性分解和规范分解。 在兼容性分解中,格式设置信息可能会丢失。 在规范分解中,这是兼容性分解的子集,会保留格式信息。
如果完全规范分解相同,则两组字符被视为具有规范等效性。 同样,如果两组字符完全兼容性分解相同,则两组字符将被视为具有兼容性等效性。
有关规范化、分解和等效性的详细信息,请参阅 unicode 标准附件 #15:unicode.org 的 Unicode 规范化表单 。