【发布时间】:2011-08-24 08:46:23
【问题描述】:
在 Objective-C 中是否有一种简单、标准的解压缩 gzip 原始数据缓冲区的方法?我在 Apple Developer 文档中找不到任何有用的信息。
如果没有,你能告诉我一个代码演练、一个库,以及任何能让我的生活更轻松的东西吗?我不怕写 C 代码。
【问题讨论】:
标签: objective-c gzip zlib
在 Objective-C 中是否有一种简单、标准的解压缩 gzip 原始数据缓冲区的方法?我在 Apple Developer 文档中找不到任何有用的信息。
如果没有,你能告诉我一个代码演练、一个库,以及任何能让我的生活更轻松的东西吗?我不怕写 C 代码。
【问题讨论】:
标签: objective-c gzip zlib
cocoadev 上有一个 NSData 类别可以处理 zlib 和 gzip 数据: http://www.cocoadev.com/index.pl?NSDataCategory
如果只需要gzip解压,可以去掉zlib&hash相关方法。
不要忘记添加链接 libz.dylib(OS X 标准库)构建阶段。
更新
正如 cmets 中的 marcos1490 所指出的,原来的 CocoaDev 条目消失了,但是有人扩展了那个 NSData 类别并写了:http://deusty.blogspot.de/2007/07/gzip-compressiondecompression.html
【讨论】:
你可以试试Ziparchive解压。我试过用它压缩文件,希望另一个能完美运行。
这里是代码sn-p
ZipArchive *zip = [ZipArchive alloc];
[zip UnzipOpenFile:Zip-File-Path];
[zip UnzipFileTo:Unzip-Folder-Path overWrite:As-You-Wish];
还在构建阶段包含 libz.dylib。
【讨论】: