Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.11.11;
Скачать: [xml.tar.bz2];

Вниз

Как узнать в какой кодировке находиться файл....   Найти похожие ветки 

 
Anonimus   (2002-10-30 14:18) [0]

Драсти..!!!!

Подскажите пожалуйста как мне узнать в каой кодировки находиться файл..?????
Файл текстовый....

Заранее спасибо...


 
Smithson   (2002-10-30 14:40) [1]

Очень просто. Я тут уже где-то давал алгоритм. Идея в следующем - для каждой кодировки составить таблицу ПАР символов. Взять некий большой файл, записать его в разных кодировках и посчитать такие таблицы для разных кодировок (плюс сохранить количество символов в файле всего).
структура типа

TCharSetTable = record
N: Integer; // число символов
CharSet: Array["а".."я","а".."я"] of Integer;
// Таблица пар
end;


Далее для своего файла считываешь байт 300-500 (я делал 500, точность выше), считаешь для него аналогичную таблицу. И сравниваешь эти таблицы (эталонные и для файла), учитывая количество символов (я использовал их как делители для элементов таблицы). Для неправильных кодировок расхождение с эталоном будет разительное, для правильной - небольшое.


 
Opuhshii   (2002-10-30 14:43) [2]

100% - никак,..
с какой то вероятностью можно утверждать по наличию отсутствия не присущих кодировке символов,.. пример (win1251/cp866) в файле последеней не должно быть байту $FF,. хотя может и быть,.. ;)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.11.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.007 c
1-34114
X-shadow
2002-10-31 18:16
2002.11.11
Люди помогите плиз с MAPI !!!!!!!!!!


14-34248
Карлсон
2002-10-23 23:18
2002.11.11
ну ваще!


1-34000
jcrush
2002-11-01 20:36
2002.11.11
грабли с иконкой


14-34233
vopros
2002-10-23 14:07
2002.11.11
Таки сделал я то что хотел, про файлы.Поздравьте.


1-34091
Zergling
2002-10-30 06:15
2002.11.11
Как корректно завершить работу потоков в программе!?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский