· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ZEN —› Как определить кодировку текста?

Посл.отвђт Сообщенiе


Дата: Сен 7, 2004 16:56:50

subj.
Имеется текст на русском языке, с примесью латинских символов и цифр. Как узнать (программно), в какой он кодировке (ну там 1251, КОИ и т.д.)?
Первое, что пришло в голову - считать частоту использования всех символов, брать самый часто используемый (типа, это буква А) и сравнивать его код с кодом буквы А для всех известных кодировок. Но при маленьком тексте в несколько слов это не сработает.
Можно искать слова по словарю или по окончаниям (ну типа комбинации букв "ющий", "ывший" и т.д.) - но это, по моему, тоже тупизм...
Подкиньте идейку плз...


Дата: Сен 7, 2004 18:23:31

Как ни странно, но похоже, что этот тупизм работает...
http://ivr.webzone.ru/articles/defcod_2/
Видимо, тему придется закрыть...


Дата: Сен 7, 2004 18:37:34

ага, даже FAR, кажется, так и определяет кодировку


Дата: Сен 7, 2004 19:40:56

А Штирлиц?


Дата: Сен 8, 2004 04:12:46

Дык это не тупизм, так и простые шифры расшифровывают.


Дата: Сен 8, 2004 14:17:41

Я думал раньше, что есть метод, который дает стопроцентную гарантию, что кодировка определена верно. А тут выходит, что на определенных текстах можно ошибиться... Хы, надо будет попробовать поискать такое слово, которое было бы осмысленным в двух и более кодировках...


Дата: Сен 8, 2004 22:12:27

2 Stariy
А чего "А" самый частый? Насколько я знаю это "О" самый частый.

А подстановкой шифруют только недоразвитые клоуны, метод определения - частотый анализ ^^^ (вышеописанный "тупизьм"), - срабатывает даже на коротких текстах.


Дата: Сен 8, 2004 22:36:29

Правильно, "О". Это я ступил малость.


Дата: Сен 12, 2004 16:44:07

http://www.rusf.ru/books/yo/xcode.html
туть есть прога в которой все реализовано и СРС есть.


Дата: Сен 13, 2004 00:53:22 · Поправил: Johnikum

Я думаю определять можно по словам из одной буквы("а", "и"), стоящих между пробелами.
Например:
код "a" CP866 - A0h; CP1251 - E0h
код "и" CP866 - A8h; CP1251 - E8h
для других не проверял.

только это справедливо для достаточно больших текстов, где встречаются эти союзы.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.131