[英]Base64 string to NSData then gunzip
我有一个二进制的base64编码的NSString,我使用@mattt的Godzippa类将其转换为NSData对象,我试图对nsdata进行压缩,但出现错误:
Error Domain=com.godzippa.zlib.error Code=-3 "Error inflating payload" UserInfo=0x881b0b0 {NSLocalizedDescription=Error inflating payload}
当我进一步调查zStream.msg
, msg = 0x000164de "incorrect header check"
但是我很难理解不正确的标头检查的含义以及如何解决此问题。 由于缺乏细节,我会事先提出要求,如果有人可以引导我了解这里的问题,我会及时回答任何问题。
这是我的操作方式,但是我删除了base64字符串:
NSString *dataString = @"REMOVED BASE64 STRING HERE";
NSData *data = [NSData dataFromBase64String:dataString];
NSError *error = nil;
NSData *decompressed = [data dataByGZipDecompressingDataWithError:&error];
if(error){
NSLog(@"Error: %@", error);
}
原来,当我需要解压缩gzip文件时,我试图解压缩zlib存档。 具体来说,我必须在libz / gzip库中将inflateInit()
更改为inflatateInit2()
方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.