Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать в какой кодировке находится текст в файле. [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]

Никак


Наверх

Титульная страница Поиск, карта сайта Написать письмо