Gzip сжатие в памяти - PullRequest
       32

Gzip сжатие в памяти

3 голосов
/ 02 июня 2010

Быстрый и простой вопрос.

В Интернете есть примеры того, как выполнить сжатие gzip в памяти с помощью zlib (C ++) БЕЗ внешних библиотек (например, boost или подобных)?

Мне просто нужно сжать и распаковать блок данных без особых опций. (это должен быть gzip, как и тот же формат, который используется другой моей программой на C # (данные должны быть переданы))

Пытался искать безрезультатно ... Спасибо!

Ответы [ 2 ]

3 голосов
/ 02 июня 2010

Вы используете внешнюю библиотеку с именем zlib . Вы можете статически связываться с этой библиотекой, если не хотите связывать DLL с вашей программой.

zlib успешно работает с буферами в памяти.

Вам не нужно повышать.

2 голосов
/ 02 июня 2010

Это не полный ответ на ваш вопрос, но вы, вероятно, заинтересуетесь Как мне распаковать поток gzip с помощью zlib? . Есть немного плохо документированной магии, которую вам нужно предоставить, чтобы zlib мог работать с потоками gzip.

В zlib API есть много функций для сжатия в памяти, которые не зависят от реальных файлов на диске.

...