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 组合 BREVE + U+0301 组合锐音符)
但是,序号(即二进制)比较认为这些序列不同,因为它们包含不同的 Unicode 代码值。 在执行序号比较之前,应用程序必须规范化这些字符串,以便将其分解为其基本组件。
每个复合 Unicode 字符映射到一个或多个字符的更基本序列。 分解过程将字符串中的复合字符替换为其更基本的映射。 完全分解以递归方式执行此替换,直到字符串中的字符无法进一步分解。
Unicode 定义了两种类型的分解:兼容性分解和规范分解。 在兼容性分解中,格式设置信息可能会丢失。 在规范分解(兼容性分解的子集)中,将保留格式信息。
如果两组字符的完整规范分解相同,则认为两组字符具有规范等效性。 同样,如果两组字符完全兼容分解相同,则两组字符被视为具有兼容性等效性。
有关规范化、分解和等效性的详细信息,请参阅 unicode.org 中的 Unicode 标准附件 #15:Unicode 规范化形式 。