Каковы различия между функциями deflate()
и compress()
в zlib?
Я просматривал онлайн примеры и некоторые использовали deflate, в то время как другие использовали компресс.
Как я должен решить, какую ситуацию я бы использовал один над другой?
Каковы различия между функциями deflate()
и compress()
в zlib?
Я просматривал онлайн примеры и некоторые использовали deflate, в то время как другие использовали компресс.
Как я должен решить, какую ситуацию я бы использовал один над другой?
compress()
используется для сжимания данных в одном вызове и всегда сжимается в формате Zlib Em>, который выключает данные с двумя байтовым заголовком и четырехбайтовым прицепом проверки значения. compress()
используется сам по себе.
deflate()
используется для сжимания данных куски кадром и / или сжать на другие форматы, такие как GZIP EM> -Prapped или RAW EM>, а также с другими вариантами, такими как память Уровни и стратегии сжатия.
Вы будете использовать compress()
, если у вас есть все данные, доступные одновременно и достаточно памяти, чтобы удерживать результат, и вы хотите, чтобы сжатие по умолчанию, использование памяти и стратегии. В противном случае вы бы использовали deflate()
.
Deflate () не используется сама. Вам необходимо использовать deflateInit()
или deflateInit2()
для инициализации структуры z_stream
, используемой deflate()
. Затем вы называете deflate()
одно или несколько раз, чтобы принять данные, чтобы сжать и сделать доступным результатом. В конце deflateEnd()
вызывается для освобождения ресурсов памяти, используемых в структуре. Вы можете прочитать документацию в zlib.h em> и на http://zlib.net/zlib_how.html Для получения дополнительной информации.