сжатие текста

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
vpnacc
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 27.01.2008 (Вс) 1:31

сжатие текста

Сообщение vpnacc » 30.04.2008 (Ср) 3:12

нужно сжимать короткие текстовые сообщения (от 20 до 300 символов).
использовал 5-6 разный архиваторов, но почти нет эфекта и даже чаще, наоборот, становится больше. притом обычные текстовички 10к+ сжимаются отлично в 2-10 раз.

почему не сжимается ? и чего с этим можно сделать?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 30.04.2008 (Ср) 7:33

Сжимаешь по одному файлу в архив или все файлы в один архив?
Если первое, то обычные архиваторы тут не очень эффективно. Было бы лучше написать свой, который бы использовал внешний большой словарь.
Lasciate ogni speranza, voi ch'entrate.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 30.04.2008 (Ср) 8:53

Почему не сжимается - информация имеет предел сжатия. Чем короче сообщение, тем меньше, так сказать, пустых мест между битами, некуда упаковывать биты, несущие информацию. Часто становится больше потому что используются алгоритмы со словарем, а в коротких сообщениях словари в худшем случае получаются равными самому сообщению. Самый эффективный алгоритм для коротких сообщений (и второй по скорости после хаффмана) находится в этом сборнике, называется Arithmetic Dymamic Bitwise Coding with rescale, увеличение размера происходит при длине меньше 16 символов. Причем именно для коротких - при преодолении порога в несколько килобайт (точное число не помню) начинает гнать пургу.
Лучший способ понять что-то самому — объяснить это другому.

vpnacc
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 27.01.2008 (Вс) 1:31

Сообщение vpnacc » 30.04.2008 (Ср) 22:19

alibek писал(а):Сжимаешь по одному файлу в архив или все файлы в один архив?

это сообщения чата.

alibek писал(а):Было бы лучше написать свой, который бы использовал внешний большой словарь.

тоесть применительно к моей ситуации... надо прогнать тучу логов чата сделать "словарь" и вшить в клиента, я правильно понял?

Antonariy писал(а):Самый эффективный алгоритм для коротких сообщений (и второй по скорости после хаффмана) находится в этом сборнике, называется Arithmetic Dymamic Bitwise Coding with rescale

арифметический - 80% :) а хаффман кслову тоже только увеличиение дает.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 01.05.2008 (Чт) 15:55

Еще бы. Хаффман использует словарь.
Лучший способ понять что-то самому — объяснить это другому.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 71

    TopList