Поддержка Юникода для пар символов-заместителей и комбинированных последовательностей знаков
Обновлен: Ноябрь 2007
Стандарт Юникод определяет пару символов-заместителей как закодированное символьное представление для одного абстрактного символа, представляющее собой последовательность из двух кодовых единиц. Первое значение пары символов-заместителей – это старший символ-заместитель, который содержит 16-разрядное кодовое значение в диапазоне от U+D800 до U+DBFF. Второе значение пары – это младший символ-заместитель, который содержит значение в диапазоне от U+DC00 до U+DFFF.
Стандарт Юникод определяет последовательность несамостоятельных знаков как сочетание базового знака и одного или более несамостоятельных знаков. Пара символов-заместителей может представлять базовый или несамостоятельный знак. Дополнительные сведения о парах символов-заместителей и последовательностях несамостоятельных знаков см. в описании стандарта на домашней странице Юникода.
Важно помнить, что пара символов-заместителей представляет одиночные 32-разрядные символы. Нельзя предполагать, что 16-разрядное значение кодировки Юникода соответствует в точности одному символу. За счет использования пар символов-заместителей 16-разрядная кодировка Юникод позволяет адресовать дополнительно миллион кодовых точек, которым будут присвоены знаки согласно стандарту Юникода.
В .NET Framework поддерживаются текстовые элементы. Текстовый элемент — это единица текста, которая отображается как один символ, называемый графемой. Текстовый элемент может быть базовым символом, парой символов-заместителей или последовательностью несамостоятельных знаков. Класс StringInfo предоставляет методы, позволяющие разбивать строку на текстовые элементы и просматривать их. Пример использования класса StringInfo см. в разделе Индексирование строк.