если есть уверенность, что текст содержит символы только одной кодовой страницы, то можно попытаться "угадать" как я уже указал выше: просканировать полученный unicode-текст, перебирая word-ы - у кого старший байт ненулевой, по нему можно определить страницу. я этим не занимался: нужно или читать доки, или банально просмотреть таблицу символов и выписать варианты. например, если 04h - это кириллица, может быть, 01h - балтийская, и т.п. при этом нужно иметь ввиду, что там могут быть кружочки или стрелочки, которые будут иметь совершенно левый старший байт (например, 25h) - это не должно влиять на определение кодовой страницы. конечно же работать просто с юникодом гораздо удобнее, но всё зависит от конечного предназначения.
+ учитывать, что могут попадаться управляющие символы юникода, но в простых случаях их в тексте после работы функции утфВюникод быть не должно.
Не хочу начинать новую тему. Проблема с кодировками. Получаю по сети путь к папке. Например, c:\docs\азбука\. OllyDbg показывает, что кодировка UTF-8. Перевожу строку в Unicode invoke MultiByteToWideChar,CP_UTF8,0,ibuff,-1,tbuff,512. Функция возвращает код ошибки Invalid_flag. Меняю CP_UTF8 на CP_ACP, функция отрабатывает нормально. Возвращает unicode-строку с какими-то краказябликами. Впихиваю эту строку в функцию FindFirstFileW, она возвращает path_not_found. Тогда решил перевести в ansi. invoke WideCharToMultiByte,1251,0,tbuff,-1,obuff,1024,0,0 Возвращает мне ту же строку в UTF-8. Пришел к тому от чего уходил. Что делать? Не ищет файлы в папках с русскими буквами. Не растет кокос.