Печать кода Unicode Astral Plane указывает на консоль, используя int - PullRequest
1 голос
/ 15 сентября 2009

Пожалуйста, см. Здесь для связанных вопросов .

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

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

Спасибо.

1 Ответ

2 голосов
/ 15 сентября 2009

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

string x = char.ConvertFromUtf32(66374);

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

...