我想使用zlib,因为我认为它是gzip NSData的最佳且最快速的方法。但是,是否有更好的方法? 如果没有,那么在Xcode中应该链接到哪个版本的zlib库:libz.dylib、libz.1.dylib、libz.1.1.3.dylib或libz.1.2.5.dylib? 请提供一个代码示例,说明如何使用zlib将NSData *normalHTTPBody转换为NSData gzippedHTTPBody
是的,zlib是用来gzip数据的。我不知道还有什么更好的方法。至于速度,您可以选择压缩级别来优化应用程序的速度和压缩比。 你可能会发现libz.dylib和libz.1.dylib是指向libz.1.2.5.dylib的符号链接。由于两者之间有许多错误修复和性能增强,请使用libz.1.2.5.dylib而不是1.1.3。 这个链接是一个非常好的注释示例。您还可以查看这个zlib使用的详细注释示例(使用C语言)。
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