Без дополнительной информации энтропия файла равна (по определению) его размеру * 8 битам. Энтропия текстового файла примерно равна 6,6 битам, учитывая, что:
- каждый символ одинаково вероятен
- в байте 95 печатных символов
- log (95) / log (2) = 6,6
Энтропия текстового файла на английском языке оценивается в пределах от 0,6 до 1,3 бит на символ (как объяснено здесь ).
Как правило, вы не можете говорить об энтропии данного файла. Энтропия является свойством набора файлов .
Если вам нужна энтропия (или, если быть точным, энтропия на байт), лучший способ - это сжать ее, используя gzip, bz2, rar или любое другое сильное сжатие, а затем разделить сжатый размер на несжатый размер. Это было бы отличной оценкой энтропии.
Расчет энтропийного байта за байтом, как предположил Ник Дандулакис, дает очень плохую оценку, поскольку предполагает, что каждый байт независим. Например, в текстовых файлах гораздо более вероятно иметь маленькую букву после буквы, чем пробел или пунктуацию после буквы, поскольку слова обычно длиннее 2 символов. Таким образом, вероятность того, что следующий символ окажется в диапазоне a-z, коррелирует со значением предыдущего символа. Не используйте грубую оценку Ника для каких-либо реальных данных, вместо этого используйте коэффициент сжатия gzip.