что такое код ASCII для правой заполненной стрелки «►» - PullRequest
2 голосов
/ 09 января 2020

Я пытаюсь напечатать правую заполненную стрелку ► в C# это я пытался

 static void Main(string[] args) {
   Console.WriteLine((char)16);
 }

, но он показывает вывод как ? (знак вопроса) Я прошел этот вопрос также, но, похоже, он не работает. Можете ли вы помочь мне с правильным кодом ASCII, который показывает правильный вывод?

Ответы [ 3 ]

4 голосов
/ 09 января 2020

Вы можете легко конвертировать char в int и таким образом получить его код :

  char arrow = '►'; // Copy + Paste from the question

  Console.Write($"{arrow} : {(int)arrow} : \\u{(int)arrow:X4}";);

Результат:

  ► : 9658 : \u25BA

и поэтому вы можно поставить

  char arrow = '\u25BA';
3 голосов
/ 09 января 2020

Измените кодировку вывода консоли перед печатью:

Console.OutputEncoding = Encoding.Unicode;
Console.WriteLine((char)9658);
// or just
//Console.WriteLine('►');
3 голосов
/ 09 января 2020

Стрелка, заполненная черным, не включена в кодировку ascii. Вам необходимо использовать Unicode.

В вашем примере:

string myString = "\u25BA";
Console.WriteLine(myString);

Вам также необходимо знать, что используемый вами шрифт может отображать указанный * Unicode символ c. Насколько я знаю, консольный шрифт по умолчанию не поддерживает его.

...