Кодировка. С++\С
да, действительно интересно, но хотелось бы не средствами винапи, а стандартными библиотеками с\с++, или можеть быть это возможно сделать уровнем ниже, на асме? недавно читал, что при кодирование уникодом первый байт как то помечается, кажется у джоэла, в его "о программировании". к тому же данная функция проверяет является ли строка юникодом, а что делать если UTF-8, UCS-2, OEM-866, Win-1251 или еще какая нить гадость???
Детекторы кодировки используют всяческие эвристики. Простейшая из них: используем кодировку, которая позволяет большую часть текста представить в виде нормальных симоволов (отображаемых буквенно-цифровых литералах). Тестируется обычно не весь файл, а лишь его начало - несколько килобайт. Следующая надстройка над этой эвристикой - поиск осмысленного текста: где больше похоже на осмысленный та и нужная.