Строковый вывод Unicode C #

У меня есть функция для преобразования строки в строку Unicode:

private string UnicodeString(string text) { return Encoding.UTF8.GetString(Encoding.ASCII.GetBytes(text)); } 

Но когда я вызываю эту функцию, результат вывода ошибочен. Похоже, моя функция не работает.

Console.WriteLine(UnicodeString("добры дзень")) печатать на консоли только такие вопросы: ????? ???? ????? ????

Есть ли способ сказать консоли, чтобы отобразить ее правильно?

ОБНОВИТЬ

Похоже, проблема не в Юникоде. Я думаю, может быть, он отображает вопросительные знаки, потому что у меня нет правильной локали в системе (Windows 7)?

Есть ли способ заставить его работать без изменения языка?

3 Solutions collect form web for “Строковый вывод Unicode C #”

Сначала измените кодировку вывода на UTF8:

 Console.OutputEncoding = Encoding.UTF8; Console.WriteLine("добры дзень"); 

Теперь вы все равно увидите вопросительные знаки. Причина в том, что шрифт консоли по умолчанию не поддерживает кириллические буквы . Измените шрифт консоли:

введите описание изображения здесь

Если вам повезет, вы должны найти другой шрифт с поддержкой Unicode:

введите описание изображения здесь

Измените шрифт, и вы сможете увидеть свой текст:

введите описание изображения здесь

В общем случае, если вы хотите надежно отображать все символы Unicode, консоль, вероятно, не подходит для вас. См. Также: шрифт консоли C # (комментарии тоже интересны)

 private string UnicodeString(string text) { return text; } 

Строковый text уже находится в Юникоде. Все внутренние строки C # являются Unicode. Когда вы конвертируете его в ASCII, вы теряете символы. Вот почему вы получаете ????? ????.

Просто сделайте простой простой Console.WriteLine("добры дзень"); нет необходимости в каком-либо преобразовании.

  • Может ли GNU sed (для Windows) обрабатывать Unicode? Если да, то это проблема с кодовой страницей / языковой версией или с коммутатором?
  • Почему «контрольные» символы незаконны в XML 1.0?
  • Преобразование TMemoryStream в 'String' в Delphi 2009
  • «Заполнить» символы Юникода в ярлыках
  • Как ввести специальные символы в Linux?
  • Как найти длину строки в R?
  • Как я могу использовать символ Unicode для сравнения символов?
  • Создать файл в UTF-8 с помощью FileWriter (Java)?
  • Сколько символов можно сопоставить с Unicode?
  • Чтение файла UIF-8 Unicode в wstring
  • установка UTF-8 в java и csv-файле
  • Давайте будем гением компьютера.