![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать в какой кодировке находится текст в файле. [D7, WinXP]
VID © (2005-08-26 11:52:00)Файл - *.txt.
Обычный текстовый файл, в котором текст может храниться в любой из кодировок.
Я хочу написать функцию которая текст из любой кодировки переведет в ANSI. Но для этого нужно знать кодировку исходного текста. А как это 100% узнать ?
Наиль (2005-08-26 14:06:00) [1]Делай как все. Предложи варианты расшифровки пользователю, а уж он разберётся.
(2005-08-26 12:56:00) [2]Удалено модератором
(2005-08-26 12:43:00) [3]Удалено модератором
Leonid Troyanovsky (2005-08-26 12:27:00) [4]
> VID © (26.08.05 11:52)
> переведет в ANSI. Но для этого нужно знать кодировку исходного
> текста. А как это 100% узнать ?
На 100% - нельзя.
Можно - с заданной вероятностью (при условии достаточности
длины текста).
Анализируются частота сочетаний символов: 2, 3 и т.д.
характерные для предполагаемого языка.
Пример можно найти на сайте Анатолия Подгорецкого,
в сборнике факов.
--
Regards, LVT.
Anatoly Podgoretsky (2005-08-26 11:58:00) [5]Статистический анализ, при условии знания языка, иначе вообще очень сложно.
Функция перевода простая, это просто цикл по строке
for I := 1 to Length(S) do
S[I] := CvtTable[S[I]];
Alexander Panov (2005-08-26 11:58:00) [6]Узнать можно, проанализировав частоту, с которой появляются в тексте символы.
Но если нет необходимого объема для анализа - тогда никак.
Игорь Шевченко (2005-08-26 11:58:00) [7]Никак