Re: Проверка на текстовый файл.
От: trophim Россия  
Дата: 08.05.06 19:03
Оценка: 11 (4) +1
Я делал по среднеквадратичному отклонению вероятностей значений байта.

Это только звучит заумно, а на самом деле элементарно. Сначала готовим эталонные таблицы вероятностей.
1. Берем любой текстовый файл (англ\рус) — считаем для него вероятности появления всех значений (0..255).
2. В бинарном файле появление всех значений равновероятно (т.е. == 1/256).
3. Теперь, имея 2 таких таблички, читаем проверяемый файл (можно и не весь, а только часть или, как я — кусок в начале, в середине и в конце), подсчитываем как и выше вероятности появления значений байта.
4. Смотрим на какую эталонную таблицу больше будет похоже то, что мы насчитали (считаем среднеквадратичное отклонение: чем оно меньше, тем больше схожесть).
5. Делаем вывод о том, на что больше похож наш файл: на текст или на бинарник.
6. Думаем, что мы молодцы, потому как у меня все работало на ура.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Let it be! — Давайте есть пчелу!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.