Я хочу использовать zlib, так как предполагаю, что это лучший и самый быстрый способ gzip
NSData
. Но есть ли лучший способ?Если нет, на какую версию библиотеки zlib мне следует ссылаться в Xcode: libz.dylib, libz.1.dylib, libz.1.1.3.dylib или libz.1.2.5.dylib?
Пожалуйста, предоставьте пример кода, как нам zlib преобразовать
NSData *normalHTTPBody
вNSData gzippedHTTPBody
Как сжать NSData с помощью zlib?
Ответы (2)
- Да, zlib используется для сжатия данных. Я не знаю лучшего способа. Что касается скорости, вы можете выбрать уровень сжатия, чтобы оптимизировать скорость и сжатие для вашего приложения.
- Скорее всего, вы обнаружите, что libz.dylib и libz.1.dylib являются символическими ссылками на libz.1.2.5.dylib. Вы должны использовать libz.1.2.5.dylib, а не 1.1.3 из-за множества исправлений ошибок и улучшений производительности между ними.
- Эта ссылка из вашего ответ - очень хорошо прокомментированный пример. Вы также можете посмотреть на этот сильно прокомментированный пример использования zlib (на C).
person
Mark Adler
schedule
22.04.2012
3. Вот несколько решений, которые я нашел в Интернете:
- http://code.google.com/p/google-toolbox-for-mac/source/browse/trunk/Foundation/GTMNSData%2Bzlib.m
- http://www.cocoadev.com/index.pl?NSDataCategory
- http://code.google.com/p/polkit/source/browse/trunk/Extensions/NSData%2BGZip.m?r=135
- https://github.com/st3fan/cocoa-utils/blob/master/src/NSDataGZipAdditions.m
- http://www.clintharris.net/2009/how-to-gzip-data-in-memory-using-objective-c/
- http://deusty.blogspot.com/2007/07/gzip-compressiondecompression.html
person
ma11hew28
schedule
22.04.2012