2012-05-02 2 views
1

Мой вопрос похож на здесь:gzencode PHP для Objective C NSData

iPhone and GZip

только, я не получаю никакого результата.

Я архивированная данные в PHP:

$gztext = gzcompress($text,9); 
var_dump(base64_encode($gztext)); 

и пытался расшифровать в прошивкой:

NSString *encodedGzippedString = @"K0ktLlFIzSspqlTQ09MDYTCloKcApWEEGBkaGZuYAAA="; 
NSData *decodedGzippedData  = [NSData dataByBase64DecodingString:encodedGzippedString]; 
NSData *unGzippedJsonData = [decodedGzippedData gzipInflate]; 
if(unGzippedJsonData){ 
    NSString* unGzippedJsonString = [[NSString alloc] initWithData:unGzippedJsonData encoding:NSASCIIStringEncoding];  
    if(unGzippedJsonString) 
     NSLog(@"Result: %@", unGzippedJsonString); 
    else 
     NSLog(@"string error"); 
} 
else NSLog(@"gzip error"); 

В результате "ошибка GZIP"

ответ

1

Это работает, как ожидалось:

NSString* base64Str = @"eJwrSS0uUShJrQARxSUAKVwFhg=="; 
NSData* gzData = [NSData dataFromBase64String:base64Str]; 
NSData* flatData = [gzData gzipInflate]; 
NSString* result = [NSString stringWithUTF8String:(const char*) flatData.bytes]; 

Wi th NSData+Base64 и NSData+Compression Категории

+0

спасибо, но у меня не было никакой удачи – user1122069

+0

Хорошо, что должно работать – sigman

+0

спасибо, но это не работает для меня со строкой выше K0ktLlFIzSspqlTQ09MDYTCloKcApWEEGBkaGZuYAAA =. К сожалению, для этой темы мне удалось сжать bzip и больше не тратить время на это. спасибо в любом случае, хотя – user1122069

0

Моя ситуация в том, что я хотел бы декодировать файл gzip. Следуя ответу @sigman, я могу декодировать файл gzip.
Например, NSString * gfile = [documentDirectory stringByAppendingPathComponent:@"randomgzip.c.gz"]; NSData * gdata = [[NSData alloc] initWithContentsOfFile:gfile]; NSData * flatData = [gdata gzipInflate];

Смежные вопросы