Форум программистов, компьютерный форум CyberForum.ru

zlib метод\уровень сжатия - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
Arwel
9 / 9 / 0
Регистрация: 04.03.2013
Сообщений: 657
19.09.2013, 10:09     zlib метод\уровень сжатия #1
Как менять метод и уровень сжатия при этом применяя api?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Arwel
9 / 9 / 0
Регистрация: 04.03.2013
Сообщений: 657
19.09.2013, 10:10  [ТС]     zlib метод\уровень сжатия #2
api:
Вложения
Тип файла: rar zlibs.rar (22.5 Кб, 27 просмотров)
Arwel
9 / 9 / 0
Регистрация: 04.03.2013
Сообщений: 657
19.09.2013, 13:54  [ТС]     zlib метод\уровень сжатия #3
Актуально.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5547 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
19.09.2013, 14:05     zlib метод\уровень сжатия #4
Arwel, выложите пожалуйста код на форум. Расскажите чуть подробнее что именно делаете, как. С примерами желательно.
Arwel
9 / 9 / 0
Регистрация: 04.03.2013
Сообщений: 657
19.09.2013, 18:43  [ТС]     zlib метод\уровень сжатия #5
Я применяю две функции:
C++
1
2
3
4
5
6
ZEXTERN int ZEXPORT compress OF((Bytef *dest,   uLongf *destLen,
                                 const Bytef *source, uLong sourceLen));
 
ZEXTERN int ZEXPORT compress2 OF((Bytef *dest,   uLongf *destLen,
                                  const Bytef *source, uLong sourceLen,
                                  int level));
С первой все ок.
Но я хочу менять метод и уровень сжатия, как мне это сделать? Апи приложил выше.
castaway
Эксперт С++
4841 / 2980 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
19.09.2013, 18:48     zlib метод\уровень сжатия #6
Цитата Сообщение от Arwel Посмотреть сообщение
Но я хочу менять метод и
А я думал что у zlib всего один метод сжатия..
Arwel
9 / 9 / 0
Регистрация: 04.03.2013
Сообщений: 657
19.09.2013, 18:50  [ТС]     zlib метод\уровень сжатия #7
Если это так, то нужно чуть больше информации
castaway
Эксперт С++
4841 / 2980 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
19.09.2013, 18:51     zlib метод\уровень сжатия #8
Цитата Сообщение от Arwel Посмотреть сообщение
Если это так, то нужно чуть больше информации
Что?
Arwel
9 / 9 / 0
Регистрация: 04.03.2013
Сообщений: 657
19.09.2013, 18:52  [ТС]     zlib метод\уровень сжатия #9
А я думал что у zlib всего один метод сжатия..
То есть мне нужно подтверждение.
castaway
Эксперт С++
4841 / 2980 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
19.09.2013, 18:53     zlib метод\уровень сжатия #10
Цитата Сообщение от Arwel Посмотреть сообщение
То есть мне нужно подтверждение.
Подтверждение чего?
Arwel
9 / 9 / 0
Регистрация: 04.03.2013
Сообщений: 657
19.09.2013, 18:57  [ТС]     zlib метод\уровень сжатия #11
Подтверждение того, что у zlib один метод сжатия.
castaway
Эксперт С++
4841 / 2980 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
19.09.2013, 19:01     zlib метод\уровень сжатия #12
Я тебя не понимаю.. разложи по пунктам, что ты хочешь сделать?
Arwel
9 / 9 / 0
Регистрация: 04.03.2013
Сообщений: 657
19.09.2013, 19:13  [ТС]     zlib метод\уровень сжатия #13
1)уровень компрессии
#define Z_NO_COMPRESSION 0
#define Z_BEST_SPEED 1
#define Z_BEST_COMPRESSION 9
#define Z_DEFAULT_COMPRESSION (-1)

2)стратегия компрессии
#define Z_FILTERED 1
#define Z_HUFFMAN_ONLY 2
#define Z_RLE 3
#define Z_FIXED 4
#define Z_DEFAULT_STRATEGY 0

3)тип сжимаемых данных
#define Z_BINARY 0
#define Z_TEXT 1
#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */
#define Z_UNKNOWN 2

Нужно узнать как это менять, все 3
И если можно - смысл этого в частности стратегии

>>
Зачем нужны дублирующие функции - каково их предназначение ?

Пример:
C++
1
2
3
4
5
6
ZEXTERN int ZEXPORT compress OF((Bytef *dest,   uLongf *destLen,
                                 const Bytef *source, uLong sourceLen));
 
ZEXTERN int ZEXPORT compress2 OF((Bytef *dest,   uLongf *destLen,
                                  const Bytef *source, uLong sourceLen,
                                  int level));
gazlan
2857 / 1805 / 271
Регистрация: 27.08.2010
Сообщений: 4,886
Записей в блоге: 1
19.09.2013, 19:35     zlib метод\уровень сжатия #14
У Zlib четыре варианта компрессии: Best, Good, Fast, и Store. И обо всем это подробно написано прямо в исходниках.
Также, как и про отличие compress2 от compress (TIP: int level).
Arwel
9 / 9 / 0
Регистрация: 04.03.2013
Сообщений: 657
19.09.2013, 19:38  [ТС]     zlib метод\уровень сжатия #15
Спасибо конечно, но я об этом уже знал.
Хотелось бы получить более подробную информацию
gazlan
2857 / 1805 / 271
Регистрация: 27.08.2010
Сообщений: 4,886
Записей в блоге: 1
19.09.2013, 19:51     zlib метод\уровень сжатия #16
Здесь все ответы и примеры: ZLib Usage Example

Добавлено через 8 минут
Вдогонку: вы бы озвучили ваши цели.

На ZLib свет клином не сошелся - довольно пухлая и весьма древняя библиотека со скромным, по нынешним временам, сжатием. Плохо совместима со своими же старыми версиями (<= 1.13). Единственное достоинство - высокая скорость работы.

IMHO, формат ZIP держится "на плаву" только по инерции (ни сильного сжатия, ни коррекции ошибок).
Arwel
9 / 9 / 0
Регистрация: 04.03.2013
Сообщений: 657
19.09.2013, 20:22  [ТС]     zlib метод\уровень сжатия #17
Ну раз так, тогда посоветуй актуальную библиотеку:
1) мульти платформа (минимум - win & linux)
2) с лицензией позволяющей использовать ее как в свободном программном обеспечении, так и в платных программах с закрытым исходным кодом
3) + архиватор с исходным кодом
castaway
Эксперт С++
4841 / 2980 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
19.09.2013, 20:28     zlib метод\уровень сжатия #18
Цитата Сообщение от gazlan Посмотреть сообщение
На ZLib свет клином не сошелся - довольно пухлая и весьма древняя библиотека со скромным, по нынешним временам, сжатием. Плохо совместима со своими же старыми версиями (<= 1.13).
Ты загибаешь...
1. Не пухлая.
2. Не древняя.
3. Соотношение сжатия на скорость давай не будем сравнивать, она популярна до сих пор из-за своей простоты/быстроты/скорости.
Убежденный
Системный программист
 Аватар для Убежденный
14183 / 6198 / 984
Регистрация: 02.05.2013
Сообщений: 10,324
Завершенные тесты: 1
19.09.2013, 20:33     zlib метод\уровень сжатия #19
Zlib - это в первую очередь ZLIB/DEFLATE/GZIP. И уже только потом ZIP.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2013, 20:35     zlib метод\уровень сжатия
Еще ссылки по теме:

C++ Не получается расшифровать zlib
Как распаковать архив ZLib C++ C++
C++ Как установить zlib для VS 2010?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
castaway
19.09.2013, 20:35     zlib метод\уровень сжатия
  #20

Не по теме:

Убежденный, при всем уважении, но про zip тут и речи не было...

Yandex
Объявления
19.09.2013, 20:35     zlib метод\уровень сжатия
Ответ Создать тему
Опции темы

Текущее время: 23:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru