Я пытаюсь распаковать некоторые zlib-закодированные данные, которые я загружаю с помощью оболочки ASIHTTPRequest.
Это то, что у меня есть до сих пор ... в основном, просто ввод данных, и теперь я надеялся на некоторую помощь, чтобы начать процесс распаковки.
- (IBAction)sendHttpsRequest
{
//Set request address
NSMutableString *databaseURL = [[NSMutableString alloc] initWithString:@"https://192.168.17.36:443"];
//call ASIHTTP delegates (Used to connect to database)
NSURL *url = [NSURL URLWithString:databaseURL];
//This sets up all other request
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setDelegate:self];
[request setValidatesSecureCertificate:NO];
[request setPostValue:@"ClientDataSet.xml" forKey:@"filename"];
[request startSynchronous];
}
- (void)requestFinished:(ASIHTTPRequest *)request
{
responseData = [request responseData]; //Pass requested data from server over to NSData variable..
//Is this where I have to think about decompression? or do I pass this data out to another method?
}
- (void)requestFailed:(ASIHTTPRequest *)request
{
self.hudCheck = NO;
[NSTimer scheduledTimerWithTimeInterval:0.25 target:self selector:@selector(stopAnimating) userInfo:nil repeats:NO];
NSError *error = [request error];
NSLog(@"%@", error);
}
Так что в значительной степени я дошел до стадии декомпрессии, однако я не уверен, какие функции / методы и т. Д. Мне нужно использовать для распаковки этих данных. Я пытался сделать это только с помощью gzip, который был сравнительно прост, поскольку оболочка ASI сама все обрабатывает.
Однако из-за обстоятельств, не зависящих от меня, данные, которые я сейчас получаю, закодированы в zlib. Так что любые функции, методы или примеры, о которых вы можете рассказать мне, помогут моей цели.
Edit:
Переход от ответа @Caleb, который я добавил
включите "zlib.h" в мой файл и получите доступ к методам этого фреймворка. Одним из них является метод inflate (). Однако я не уверен, какие параметры необходимо ввести в него? есть идеи?.