代理项对和组合字符序列的 Unicode 支持

[本文档仅供预览,在以后的发行版中可能会发生更改。包含的空白主题用作占位符。]

“Unicode 标准”将代理项对定义为由两个代码单元序列组成的单个抽象字符的编码字符表示形式。 代理项对的第一个值是高代理项,它是一个介于 U+D800 和 U+DBFF 之间的 16 位代码值。 代理项对的第二个值是低代理项,它是一个介于 U+DC00 和 U+DFFF 之间的值。

“Unicode 标准”将组合字符序列定义为一个基字符与一个或多个组合字符的组合。 代理项对可表示基字符或组合字符。 有关代理项对及组合字符序列的更多信息,请参见位于 Unicode home page(Unicode 主页)的“Unicode Standard”(Unicode 标准)。

关键是要记住,代理项对表示 32 位单字符。 不能假定一个 16 位 Unicode 编码值会精确地映射到一个字符。 通过使用代理项对,16 位 Unicode 编码系统可以表示另外一百万个码位,而 Unicode 标准将为它们分配字符。

.NET Framework 支持文本元素。 文本元素是显示为单字符的文本单元,称作字素。 文本元素可以是基字符、代理项对或组合字符序列。 StringInfo 类提供了一些方法,使应用程序可以将字符串拆分为它的文本元素,并循环访问这些文本元素。 有关使用 StringInfo 类的示例,请参见字符串索引

请参见

概念

字符串索引