Podpora kódování Unicode pro náhradní dvojice a sekvence kombinovaných znaků
Standard Unicode definuje náhradní dvojici jako reprezentaci kódovaných znaků za jeden abstraktní znak skládající se ze sekvence dvou jednotek kódu. První hodnota náhradní dvojice je znak vysoké náhrady, 16bitová hodnota kódu v rozsahu od U+D800 do U+DBFF. Druhá hodnota dvojice je znak nízké náhrady, v rozsahu od U+DC00 od U+DFFF.
Standard Unicode definuje sekvenci znaků diakritického znaménka jako kombinaci znaku bez diakritického znaménka a jednoho nebo více znaků diakritického znaménka. Náhradní dvojice může reprezentovat znak bez diakritického znaménka nebo znak diakritického znaménka. Další informace o náhradních párech a sekvencích znaků s diakritikou najdete ve standardu Unicode na domovské stránce standardu Unicode.
Klíčovým bodem pro zapamatování je, že náhradní dvojice představují jednotlivé 32bitové znaky. Nelze předpokládat, že jedna 16bitová hodnota kódování Unicode se mapuje přesně na jeden znak. Používáním náhradních dvojic, může 16bitový systém kódování Unicode adresovat další jeden milion bodů kódu, ke kterým budou znaky přiřazeny pomocí Standardu Unicode.
Rozhraní .NET Framework podporuje textové prvky. Textový prvek je jednotka textu, která je zobrazena jako jeden znak nazvaný grafém. Textový prvek může být znak bez diakritického znaménka, náhradní pár nebo diakritické znaménko sekvence znaků. Třída StringInfo poskytuje metody, které vaši aplikaci umožňují rozdělit řetězec na její textové prvky a iterovat přes tyto textové prvky. Příklad použití třídy StringInfo naleznete v tématu String Indexing.