Александр_ пишет:Resager пишет:Скачиваю файл с HTTP...
Кстати говоря, там в поле "Content-Type" заголовка кодировка не указана?
Указана, text/html; charset=UTF-8 но как это глянуть то? Скачиваю я через UrlDownloadToFile
Александр_ пишет:я этого не писал
Рабочий день заканчивался, меня с работы выгоняли. Торопился 
Александр_ пишет:Есть возможно прикрепить к сообщению пример тестируемого файла? А лучше несколько примеров
Прикрепил.
Нашел вот такую информацию в википедии:
Текст, состоящий только из символов Юникода с номерами меньше 128, при записи в UTF-8 превращается в обычный текст ASCII. И наоборот, в тексте UTF-8 любой байт со значением меньше 128 изображает символ ASCII с тем же кодом. Остальные символы Юникода изображаются последовательностями длиной от 2 до 6 байт (реально только до 4 байт, поскольку использование кодов больше 221 не планируется), в которых первый байт всегда имеет вид 11xxxxxx, а остальные — 10xxxxxx.
Проще говоря, в формате UTF-8 символы латинского алфавита, знаки препинания и управляющие символы ASCII записываются кодами US-ASCII, a все остальные символы кодируются при помощи нескольких байтов со старшим битом 1. Это приводит к двум эффектам.
Значит, вероятно можно запускать проверку старших битов каждого байта/кода символа. (что однако проблематично, с точки зрения быстродействия). Можно однако после первого найденого такого символа сразу конвертировать файл.
К примеру, символ скобки, закодированный как 0x3C ("<") в двоичной выглядит так: 00111100
А символ (кирилица) ("О")/UTF-8 или ("Рћ")/ASCII с кодом 0xD0 & 0x9E имеет двоичный код такой 11010000 & 10011110
А символ (кирилица) ("с")/UTF-8 или ("СЃ")/ASCII с кодом 0xD1 & 0x81 имеет двоичный код такой 11010001 & 10000001
Как можно заметить, первый байт есть ни что иное, как русские символы "Р" и "С". Так что на них ориентироваться нельзя, можно попробовать отслеживать "кроказябры", идущие после Наших "Р" и "С" (коды их 208 и 209 DEC).
...
Все же необходимо знать кодировку.
Узнать Http заголовок можно с помощью функции, ОТСЮДА
Ну Регулярное выражение что бы достать кодировку, можно задать как-то так:
Content-Type\:(?!charset).*?charset=(.*?)$
Post's attachmentsexample.zip 7.95 kb, 3 downloads since 2012-10-19
You don't have the permssions to download the attachments of this post.