Печать кодовой точки Unicode Astral Plane на консоль с использованием int

См. здесь связанный вопрос.

Однако char переходит к 0xffff (или 65535). Мне нужно написать 0xd800df46 (или 66374), готическую букву Faihu, поэтому преобразование int в char не сработает. Я делаю преобразование в порядке, то есть я получаю правильное целое число, то есть я вычисляю суррогатные пары в порядке, но я не знаю, как его «отобразить», преобразовать в символ для вывода в виде глифа.

Пожалуйста, обратите внимание, что я не могу использовать \Unnnn по... ну, теоретическим причинам.

Спасибо.


person Dervin Thunk    schedule 14.09.2009    source источник


Ответы (1)


Хорошо, вам нужно преобразовать одно целое число в суррогатную пару, которую вы должны представить в виде строки:

string x = char.ConvertFromUtf32(66374);

Для большего количества операций вы можете использовать мой класс Utf32String в MiscUtil, а также различные другие методы в System.Char.

person Jon Skeet    schedule 14.09.2009