gpt4 book ai didi

iPhone 和 GZip

转载 作者:行者123 更新时间:2023-12-03 18:40:47 25 4
gpt4 key购买 nike

现在我知道 xCode 会自动为您执行 GZip 解压缩:

NSData *data = [NSData dataWithContentsOfURL:URL];

如果我指向服务器上的 Gzip 文件,它确实可以工作。但由于我的内容是动态的,我有一个 PHP 脚本,而不是创建一个 gzip 文件,如下所示:

$zp   = gzopen($file, "r");
$data = gzread($zp, $filesize);
gzclose($zp);

我用以下方法对自己的数据进行编码:

echo gzencode($data, 9);

这样我添加了以下标题:

header("Content-Type: application/x-gzip");
header("Content-Encoding: gzip");
header("Accepts-Encoding: gzip");

当我浏览到该 URL 时,我的浏览器会自动下载该文件,并且我能够在 Mac 上解压缩该文件并查看其内容。然而,当我尝试通过 xCode 读取它时,它不起作用。

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

我是不是忘记了什么?

最佳答案

如果您下载内容类型为 application/x-gzip 的内容,URL 加载系统将不会为您解压缩。我认为您收到的数据仍然是gzip编码的。

您可以使用我的 NSData 添加来处理这个问题。请参阅http://github.com/st3fan/cocoa-utils/blob/master/src/NSDataGZipAdditions.m

关于iPhone 和 GZip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2159575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com