Как распознать кодовую страницу входной строки, например, если бы я поместил что-то в кириллицу, то она должна возвратить окна 1251 и когда я поместил строку в китайский язык, она возвращает другую кодовую страницу и т.д.
Если это ввод из текстового поля (windows forms), то строка является строкой .Net, и всегда в юникоде (UTF-16).
Если вы получаете ввод со страницы Web-формы (aspx), браузер также отправляет вместе с ней кодовую страницу. И .Net сделает ее для вас юникодовой.
Если вы получаете ввод из файла, желаю вам удачи ;-)