• Почему возвращается \0 при вводе русских букв в консоли C#?

    @cicatrix Автор вопроса
    было бы большой ошибкой думать
    Доходило долго, но я справился.
    Внутри строки в нынешнем шарпе хранятся в utf-16, а в консоли - в utf-8.
    чтобы работало, надо указать явно кодировку utf-16:
    Console.InputEncoding = System.Text.Encoding.GetEncoding("utf-16");
    Console.WriteLine("Hello, World!");
    var ans = Console.ReadLine();
    Console.WriteLine(ans);

    Может, кому пригодится.
    Ответ написан
    Комментировать