问题标签 [zlib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
22169 浏览

c++ - Qt quncompress gzip 数据

我偶然发现了一个问题,并且找不到解决方案。

所以我想做的是解压缩qt中的数据,使用qUncompress(QByteArray),以gzip格式从www发送。我用wireshark确定这是有效的gzip流,也用zip/rar测试过,两者都可以解压缩。

到目前为止的代码是这样的:

并且解压缩失败并显示: qUncompress: Z_DATA_ERROR: 输入数据已损坏。

AFAIK gzip 由 10 字节头、DEFLATE peyload、12 字节尾(8 字节 CRC32 + 4 字节 ISIZE - 未压缩数据大小)组成。条带化标头和拖尾应该给我留下 DEFLATE 数据流,qUncompress 产生相同的错误。

我检查了用 PHP 压缩的数据字符串,如下所示:

和 qUncompress 解压缩该数据。(我没有看到和 gzip 标头虽然 ie ID1 = 0x1f, ID2 = 0x8b )我用调试检查了上面的代码,错误发生在:

inflate.c 第 610 行。

我知道 qUncompress 只是 zlib 的一个包装器,所以我想它应该可以毫无问题地处理 gzip。任何评论都更受欢迎。

此致

0 投票
3 回答
2220 浏览

g++ - 如何防止 g++ 从 /usr/include 获取头文件?

我正在使用 zlib.h 构建,我有 v1.2.5 的本地副本,但在 /usr/include/zlib.h 中有 v1.2.1.2。

如果我省略将 -I/my/path/to/zlib 添加到我的 make 中,我会因使用没有 Z_FIXED 的旧版本而出错:

或者,如果我将包含路径添加到我正在使用的 zlib z1.2.5,我会得到双重定义,似乎 zlib.h 被包含两次并带有两组不同的 -D 值,但我不明白如何这正在发生:

这里是上面提到的 zlib.h 中的一些相关行:

我不确定如何进一步追踪这一点。我尝试将 zlib.h 的包含移动到 cpp 文件的包含列表的顶部和底部,但没有任何区别。

将 -E 传递给 g++ 的摘录部分显示:

不知道为什么第 1566 行和第 1582 行会在 CPP 输出中一起出现,但因此会发出有关重复声明的警告。

0 投票
1 回答
6242 浏览

iphone - 如何使用 libz.dylib 解压缩 zip 文件?

在我的程序中,我必须解压缩下载的文件...我读过 libz.dylib 用于此,但我没有找到任何文档或示例如何做到这一点..?

有谁知道这个...

提前致谢....

0 投票
0 回答
611 浏览

zlib - 如何在可可框架下使用zlib压缩文件夹及其内容

如何在 cocoa 框架下使用 zlib 1.2.3 压缩文件夹及其内容。它似乎

zlib 仅用于压缩文件而不是文件夹(参考其他邮件

列表),否则在可可应用程序中是否有可能这样做。

感谢和问候, iSight

0 投票
1 回答
1874 浏览

java - Problem when compressing SWF in Linux with java.util.zip

I've created a servlet that changes the binaries of a SWF file and output it to the user. The SWF is compressed by ZLIB by default. Then I inflate, change the binaries, deflate and output the result.

Everything was running right on a Windows Server 2008 (also in 2003). Currently, we need change the server to Linux, and then, this servlet is somehow outputing a corrupted SWF File... what could be the problem? What intrigues me more is that there is no difference between the Windows and Linux servlet versions.

Is there any undocumented linux specific behaviour for the java.util.zip package?


My Windows Server is (where the servlet is working):

  • Windows Server 2008 (6.0 - x86)
  • Apache 2.2.11
  • Tomcat 6.0.16.0 Java
  • JDK 1.6.0_12-b04


My CentOS Server is (where te servlet doesn't work)

  • CentOS 5.4 (2.6.18-164.15.1.el5 - i386)
  • Apache 2.2.3
  • Tomcat 6.0.16.0
  • Java JDK 1.6.0_12-b04

Any lead would be appreciated! Cheers, CaioToOn!

0 投票
2 回答
6859 浏览

python - Zlib 在 OS X 中不可用?

我正在尝试安装 python 库并在下载 egg 文件后收到此错误。

我做了一些研究,发现 zlib 是内置在 OS X 中的。

这里可能出了什么问题?

0 投票
1 回答
4557 浏览

c - ZLib 示例代码编译的错误 LNK2019

我在 vs2010 中创建了 win32 控制台应用程序(没有选择预编译头选项)。我在下面插入了代码。但 *.obj 链接失败。您能否向我提供有关该错误的更多信息。我搜索了MSDN,但仍然无法理解。

输出:

0 投票
1 回答
1193 浏览

c# - boost::iostreams 中的 Zlib 压缩与 zlib.NET 不兼容

我想将我的 C# 之间的压缩数据发送到 ZLIB 格式的 C++ 应用程序。在 C++ 中,我使用 boost::iostreams 中的 zlib_compressor/zlib_decompressor。在 C# 中,我目前正在使用 zlib.NET 库中提供的 ZOutputStream。首先,当我使用两个库压缩相同的数据时,结果看起来不同:

  1. boost::iostreams::zlib_compressor:

63 61 60 60 F8 00 C4 C1 25 45 99 79 E9 23 87 04 00

  1. zlib.NET (zlib.ZOutputStream):

78 9C 63 61 60 60 F8 00 C4 C1 25 45 99 79 E9 23 87 04 00 4F 31 63 8D

(注意 zlib.NET 中存在的 78 9C 模式,但 boost 中没有)。

此外,当我解压缩在 zlib.NET 中压缩的 boost 中的数据时,我无法从流中读取数据,提示有问题。当我尝试解压缩在 boost 中压缩的数据时,它确实有效。

有人知道出了什么问题吗?

谢谢,

约翰

0 投票
1 回答
3956 浏览

c++ - zlib gzgets 非常慢?

我正在做与解析大量文本文件相关的工作,并且正在测试要使用的输入法。

使用 c++ std::ifstreams 与 c FILE 没有太大区别,

根据zlib的文档,它支持解压文件,并且会在不解压的情况下读取文件。

我看到从使用非 zlib 的 12 秒到使用 zlib.h 的 4 分钟以上的差异

我已经测试过多次运行,所以它不是磁盘缓存问题。

我是否以某种错误的方式使用 zlib?

谢谢

0 投票
2 回答
7280 浏览

visual-studio-2010 - 使用 Visual Studio 2010 构建 cURL 和 libcurl

在问题 #197444的帮助下,我设法在 Visual Studio 2010 IDE、OpenSSL 1.0.0 和 zlib 1.2.5 中从 Windows 上的源代码构建 cURL 和 libcurl。我看到的问题是,目前,如果我使用参数运行生成的 curl.exe -V,那么它报告的版本是

请注意,如果我实际使用的版本与 OpenSSL 和 zlib 报告的版本不匹配。关于如何解决这个问题的任何想法?

ps 是否有可以编译到 libcurl 中的可选组件的明确列表以及使用哪些选项/预处理器指令?(例如 SSPI、libidn、...?)