Jetzt weiß ich, dass xCode automatisch funktioniert die GZIP decrompession für Sie unter:iPhone und GZIP
NSData *data = [NSData dataWithContentsOfURL:URL];
Und es funktioniert, wenn ich auf meinem Server zu einer gzip-Datei verweisen. Aber da meine Inhalte dynamisch ist, habe ich ein PHP-Skript, das dann eher eine gzip-Datei erstellen, etwa so:
$zp = gzopen($file, "r");
$data = gzread($zp, $filesize);
gzclose($zp);
I kodieren meine eigenen Daten mit:
echo gzencode($data, 9);
Mit diesem Add ich die folgenden Header :
header("Content-Type: application/x-gzip");
header("Content-Encoding: gzip");
header("Accepts-Encoding: gzip");
Wenn ich an die URL zu finden, will mein Browser die Datei automatisch herunterzuladen und ich bin in der Lage es auf meinem Mac zu entpacken, und es ist Inhalt zu sehen. Wenn ich versuche, es über xCode zu lesen, wird es nicht funktionieren.
NSData *data = [NSData dataWithContentsOfURL:URL];
NSString *content = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog (content); //returns only data when pointed directly to a Gzip file
Ich vergesse etwas?
ja. du vergisst deine Antworten zu akzeptieren !! (Sorry konnte nicht widerstehen!) –
Sie verwenden NSLog falsch. Verwenden Sie eine Formatzeichenfolge: 'NSLog (@"% @ ", Inhalt);' – gerry3
Nur aus Interesse, warum möchten Sie dies tun? Wäre das Verwenden von mod_deflate nicht viel einfacher und würde keinen manuellen Eingriff erfordern? – djskinner