Распаковка потока данных gzip в Objective-C - PullRequest
2 голосов
/ 24 августа 2011

Существует ли простой, стандартный способ распаковки буфера необработанных данных gzip в Objective-C?Я не смог найти ничего полезного в документации для Apple Developer.

Если нет, можете ли вы указать мне на кодовый проход, библиотеку, что-нибудь, что облегчит мою жизнь?Я не боюсь писать код на C.

Ответы [ 2 ]

2 голосов
/ 24 августа 2011

Существует категория NSData, доступная на cocoadev, которая может обрабатывать данные zlib и gzip: http://www.cocoadev.com/index.pl?NSDataCategory

Если вам нужна декомпрессия gzip, вы можете удалить методы, связанные с zlib & hash.
Не забудьте добавить ссылку на фазу сборки libz.dylib (стандартная библиотека OS X).

Обновление
Как отмечено в комментариях marcos1490, исходная запись CocoaDev исчезла, но кто-то расширил эту категорию NSData и написал об этом: http://deusty.blogspot.de/2007/07/gzip-compressiondecompression.html

0 голосов
/ 24 августа 2011

Вы можете попробовать Ziparchive для распаковки. Я пытался сжать файлы, используя его, надеюсь, что другой будет работать отлично.

Вот фрагмент кода

ZipArchive *zip = [ZipArchive alloc];
[zip UnzipOpenFile:Zip-File-Path];
[zip UnzipFileTo:Unzip-Folder-Path overWrite:As-You-Wish];

Также добавьте libz.dylib на этапе сборки.

...