Преобразуйте большие значения Int в 2-байтовые символы Юникода.C#

Место общения программистов C#
Ответить
Anonymous
 Преобразуйте большие значения Int в 2-байтовые символы Юникода.

Сообщение Anonymous »

Я работаю над библиотекой, в настоящее время поддерживающей «net47, net48, net6.0, net8.0, netstandard2.0, netstandard2.1», чтобы расширить и создать более простой способ использования 256 цветов, стилей шрифтов, и специальные символы в консольных приложениях.
В настоящее время у меня есть Enum с Unicode в качестве имени и целочисленного значения.
Пример:

Код: Выделить всё

U2797 = 10135
Этот символ легко преобразовать в 1-байтовый символ в виде строки.

Код: Выделить всё

// could be '\u2797' or in this case "➗"
var charVal = $"{(char)10135}";
Однако моя проблема связана с 2-байтовыми специальными символами.
Пример:

Код: Выделить всё

U0001F435 = 128053
// Result needed: "\ud83d\udc35" or "🐵".
Я пытался:

Код: Выделить всё

byte[] bytes = BitConverter.GetBytes(128053)
var uResult = Encoding.Unicode.GetString(bytes);
var aResult = Encoding.ASCII.GetChars(bytes);
Ни один из этих результатов не дает того, что я ищу. Последние 3 дня я искал различные возможные решения, но до сих пор не нашел решения.
Буду очень признателен за любые указания.

Подробнее здесь: https://stackoverflow.com/questions/791 ... characters
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»