Как определить кодировку текста?

Тема в разделе "WASM.ZEN", создана пользователем Stariy, 7 сен 2004.

  1. Stariy

    Stariy Member

    Публикаций:
    0
    Регистрация:
    22 окт 2003
    Сообщения:
    529
    Адрес:
    Russia
    subj.

    Имеется текст на русском языке, с примесью латинских символов и цифр. Как узнать (программно), в какой он кодировке (ну там 1251, КОИ и т.д.)?

    Первое, что пришло в голову - считать частоту использования всех символов, брать самый часто используемый (типа, это буква А) и сравнивать его код с кодом буквы А для всех известных кодировок. Но при маленьком тексте в несколько слов это не сработает.

    Можно искать слова по словарю или по окончаниям (ну типа комбинации букв "ющий", "ывший" и т.д.) - но это, по моему, тоже тупизм...

    Подкиньте идейку плз...
     
  2. Stariy

    Stariy Member

    Публикаций:
    0
    Регистрация:
    22 окт 2003
    Сообщения:
    529
    Адрес:
    Russia
  3. ssx

    ssx Member

    Публикаций:
    0
    Регистрация:
    19 авг 2003
    Сообщения:
    336
    ага, даже FAR, кажется, так и определяет кодировку
     
  4. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    А Штирлиц?
     
  5. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    Дык это не тупизм, так и простые шифры расшифровывают.
     
  6. Stariy

    Stariy Member

    Публикаций:
    0
    Регистрация:
    22 окт 2003
    Сообщения:
    529
    Адрес:
    Russia
    Я думал раньше, что есть метод, который дает стопроцентную гарантию, что кодировка определена верно. А тут выходит, что на определенных текстах можно ошибиться... Хы, надо будет попробовать поискать такое слово, которое было бы осмысленным в двух и более кодировках...
     
  7. Inked Wedge

    Inked Wedge New Member

    Публикаций:
    0
    Регистрация:
    15 авг 2004
    Сообщения:
    33
    Адрес:
    Ukraine
    2 Stariy

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



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

    Stariy Member

    Публикаций:
    0
    Регистрация:
    22 окт 2003
    Сообщения:
    529
    Адрес:
    Russia
    Правильно, "О". Это я ступил малость.
     
  9. khv_test

    khv_test New Member

    Публикаций:
    0
    Регистрация:
    30 июн 2004
    Сообщения:
    135
  10. Johnikum

    Johnikum Member

    Публикаций:
    0
    Регистрация:
    6 июн 2003
    Сообщения:
    97
    Я думаю определять можно по словам из одной буквы("а", "и"), стоящих между пробелами.

    Например:

    код "a" CP866 - A0h; utf8 - E0h

    код "и" CP866 - A8h; utf8 - E8h

    для других не проверял.



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