Печать кода Unicode Astral Plane указывает на консоль, используя int
Пожалуйста, смотрите здесь для связанных вопросов.
Тем не мение, char
идет к 0xffff
(или же 65535
). Мне нужно написать 0xd800df46
(или же 66374
), Готическая буква Faihu, так что кастинг int
в char
не будет работать. Я делаю преобразование в порядке, то есть я получаю правильное целое число, что означает, что я правильно вычисляю суррогатные пары, но я не знаю, как его "отрендерить", преобразовать в символ для вывода в виде глифа.
Обратите внимание, что я не могу использовать \Unnnn по... ну, теоретическим причинам.
Спасибо.
1 ответ
Хорошо, вам нужно преобразовать одно целое число в суррогатную пару, которую вы бы представляли в виде строки:
string x = char.ConvertFromUtf32(66374);
Для большего количества операций, чем это, вы можете использовать мой Utf32String
класс в MiscUtil, а также различные другие методы в System.Char
,