Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
ВнизЕсть ли надежный метод отличить строку OEM от ANSI? Найти похожие ветки
← →
Aleksandr. (2004-07-12 16:52) [0]Две версии программы пишут в разных кодировках - одна в OEM, а вторая - в ANSI. Теперь их данные надо объединить одним обработчиком, но никак не могу сообразить, как по содержимым строки определить, надо ее в ANSI конвертировать или нет.
← →
Reindeer Moss Eater © (2004-07-12 16:54) [1]Статанализ либо поиск заведомо имеющихся слов/фраз в тексте.
← →
Aleksandr. (2004-07-12 17:02) [2]Ну, заведомых нету, а статанализ - это что?
← →
Reindeer Moss Eater © (2004-07-12 17:12) [3]статистика.
← →
Aleksandr. (2004-07-12 17:25) [4]Статистика чего? Я понимаю, что можно попробовать что-то сравнить и подсчитать, но что?
← →
Reindeer Moss Eater © (2004-07-12 17:28) [5]Статистика встречаемости слов в языке документа.
← →
Алхимик © (2004-07-12 17:31) [6]Смотри информацию про так называемую "марковость".
Вероятность встретить "оро" достаточно высока, а "щщщ" стремится к нулю и т.д.
http://www.yandex.ru/yandsearch?rpt=rad&text=%EC%E0%F0%EA%EE%E2%EE%F1%F2%FC
← →
Jeer © (2004-07-12 17:32) [7]Reindeer Moss Eater © (12.07.04 17:28) [5]
>Статистика встречаемости слов в языке документа.
..символов..
← →
Reindeer Moss Eater © (2004-07-12 17:33) [8]Только если это "оро" написано кириллицей.
← →
Anatoly Podgoretsky © (2004-07-12 17:34) [9]Статистические методы не относятся к надежным.
← →
Reindeer Moss Eater © (2004-07-12 17:37) [10]В общем легче и дешевле показать юзеру фрагмент текста с перекодировкой и без и предложить выбрать самому.
Что то типа надписи на спине байкера:
"Если вы читаете это, значит моя подруга упала с мотоцикла"
← →
Aleksandr. (2004-07-12 17:48) [11]Понятно... Проще сравнивать с сетом используемых символов, куда нормальные русские люди не вбивают всякие там знаки параграфа и решетки...
← →
Jeer © (2004-07-12 17:49) [12]Anatoly Podgoretsky © (12.07.04 17:34) [9]
Мы вообще живем в статистическом мире.:)
← →
Reindeer Moss Eater © (2004-07-12 17:56) [13]Проще сравнивать с сетом используемых символов,
Чем проще-то?
У тебя в тексте есть всего лишь байт, а не символ. Символом он станет кода будет ясна кодировка.
А сравнивать ты собрался с символом.
← →
Aleksandr. (2004-07-12 18:09) [14]Ну, например: ОЕМ-строка, сколько я их ни просматриваю, на трассировке, в содержимом имеет знаки мягкого переноса, параграфы, подчеркивания, копирайты, национальные сиволы:
"?¢áâà «¨©áª¨© ¤®«« à 1"
Естессно, в русском тексте просто нет этих символов, а меня конвертация волнует только с русского OEM. Соответственно, при прогоне строки на сравнение с таким вот набором в 1251:
"0".."9","A".."Z","a".."z","А".."Я","а".."я"," ",",",".","!",":","?",";","""",""","@","¹","%","*","(",")","[","]","<",">","/","\","$","#","-",#9
можно быть достаточно уверенным, что любой знак, не попавший в него, является признаком OEM-содержимого строки. Я это дело сейчас опробовал, из трехсот тысяч строчек он ни разу не ошибся с определением: заведомо зная, что помимо этого набора, также не должны встречаться переносы строк - в каждой из OEM-строк оказался символ, не входящий в этот набор. Естессно, в список не включаю примерно 20% строк, которые оказались на английском - их конвертация мне и не нужна.
← →
Anatoly Podgoretsky © (2004-07-12 19:33) [15]Jeer © (12.07.04 17:49) [12]
Да разве к статистике есть претензии, претензии есть к постановке вопроса "надежный"
Aleksandr. (12.07.04 18:09) [14]
Раз ты щавел речь про 1251, то тогда не стоит вести речь про OEM/ANSI, а вести речь об конкретных кодировках. OEM/ANSI это другое. Кроме того у тебя сильно ограниченый набор 1251, например у меня в текстах часто встречаются ©®™¤Ё№¬…?‘’“”•¦§«°±ё» и такие же коды в 866, кроме того иногда используются и другие символы.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.031 c