Архив рубрики: Software

C#: Отобразить Unicode символ

В WPF я вывожу в списке в одной колонке файлы, а в другой я бы хотел выводить статус этих файлов — блокируются они или нет. Это можно сделать строкой «true» или «false», можно их заменить на что-то вроде «блокируется» и т.п. Но я бы хотел вместо слова вставлять значок. Для значка галочки подошёл символ ☑, у него был такой HTML-код:

☑

В скрипте конвертера его нужно было использовать так:

   return "\u2611"; // Unrestricted

А вот для символа No Entry 🚫 компилятор стал ругаться, т.к. у символа был код больше 4-х знаков:

🚫

Решение

Для вывода подобных знаков нужно указывать не HTML-кодировку, а UTF-16 кодировку.
В данном случае у этого символа будет такой код:

0xD83D 0xDEAB

В скрипте это нужно указывать так:

return "\uD83D\uDEAB"; // Disallowed