Bây giờ tôi biết rằng Xcode automaticly hiện decrompession GZip cho bạn trong vòng:iPhone và GZip
NSData *data = [NSData dataWithContentsOfURL:URL];
Và nó làm việc nếu tôi trỏ đến một tập tin Gzip trên máy chủ của tôi. Nhưng kể từ khi nội dung của tôi là năng động, tôi có một kịch bản PHP rằng thay vì sau đó tạo ra một file gzip như vậy:
$zp = gzopen($file, "r");
$data = gzread($zp, $filesize);
gzclose($zp);
tôi mã hóa dữ liệu của riêng tôi với:
echo gzencode($data, 9);
Với điều này tôi thêm các tiêu đề sau :
Khi tôi duyệt đến URL, trình duyệt của tôi muốn tải xuống tệp tự động và tôi có thể giải nén tệp trên máy Mac và xem nội dung đó. Tuy nhiên khi tôi cố gắng đọc nó thông qua xCode nó sẽ không hoạt động.
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
Tôi có quên điều gì đó không?
vâng. bạn quên chấp nhận câu trả lời của mình !! (xin lỗi không thể cưỡng lại!) –
Bạn đang sử dụng NSLog không chính xác. Sử dụng một chuỗi định dạng: 'NSLog (@"% @ ", nội dung);' – gerry3
Chỉ cần không quan tâm, tại sao bạn muốn làm điều này? Sẽ không sử dụng mod_deflate đơn giản hơn nhiều và không yêu cầu bất kỳ sự can thiệp thủ công như thế này? – djskinner