问题标签 [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.
delphi - 德尔福 2009 中的 Zlib
我正在将应用程序升级到 Delphi 2009。该应用程序使用 Soap,我们使用 Zlib 压缩肥皂请求和响应流。这在 Delphi 2006 中运行良好,但在 Delphi 2009 中却不行。
所以我回到Delphi 2006,改用FastZlib。它在 Delphi2006 中一切正常,但在 Delphi 2009 中不起作用,我得到解压缩错误。
有没有其他人有这个问题?
我该如何解决这个问题?
桑迪普
deployment - maven-war-plugin 与“ZLIB 输入流的意外结束”
我正在使用 maven-war-plugin,有时我在部署到 jboss 时出现 Unexpected end of ZLIB 输入流,这是因为文件是在 jboss 目录中制作的并且没有移动/复制到那里,有没有办法修复它(使用 maven)?
我的配置:
p>zlib - z/OS USS 上的 zlib
我试图在 z/OS USS 上编译 z/lib(那是大型机)。我得到了 gmake 和 c89 编译器(我假设它符合 c89 标准)并且 USS 应该是 POSIX 兼容的。
但是 zlib 似乎正在绊倒
出现以下错误
当我逐步取出 FAR *(我认为它是一个远指针,但我真的不太确定)时,错误就消失了。但由于这是一个库,我不确定通过删除它会产生哪些其他工件。
有人有什么想法吗?
那里有旧的大型机头吗?
c# - Python:Inflate 和 Deflate 实现
我正在与一个服务器连接,该服务器需要使用Deflate算法(霍夫曼编码 + LZ77)压缩发送给它的数据,并且还发送我需要的数据到Inflate。
我知道 Python 包含 Zlib,并且 Zlib 中的 C 库支持对Inflate和Deflate的调用,但这些显然不是由 Python Zlib 模块提供的。它确实提供了Compress和Decompress,但是当我拨打如下电话时:
我收到以下错误:
Gzip 也好不到哪里去;拨打电话时,例如:
我收到错误:
这是有道理的,因为数据是压缩文件而不是真正的Gzipped文件。
现在我知道有可用的Deflate实现(Pyflate),但我不知道Inflate实现。
似乎有几个选择:
- 在 Python中查找Inflate和Deflate的现有实现(理想)
- 为包含Inflate和Deflate的 zlib c 库编写我自己的 Python 扩展
- 调用可以从命令行执行的其他东西(例如 Ruby 脚本,因为zlib 中的Inflate / Deflate调用完全包含在 Ruby 中)
- ?
我正在寻找解决方案,但缺乏解决方案,我会感谢您的见解、建设性意见和想法。
附加信息:出于我需要的目的,对字符串进行压缩(和编码)的结果应该与以下 C# 代码片段给出相同的结果,其中输入参数是对应于要压缩的数据的 UTF 字节数组:
为字符串“deflate and encode me”运行这个 .NET 代码会得到结果
当“deflate and encode me”通过 Python Zlib.compress() 运行然后 base64 编码时,结果是“eJxLSU3LSSxJVUjMS1FIzUvOT0lVyE0FAFXHB6k=”。
很明显,zlib.compress() 不是与标准 Deflate 算法相同的算法的实现。
更多信息:
.NET deflate 数据(“7b0HY...”)的前 2 个字节,经过 b64 解码后为 0xEDBD,不对应 Gzip 数据(0x1f8b)、BZip2(0x425A)数据或 Zlib(0x789C)数据。
Python 压缩数据(“eJxLS...”)的前 2 个字节,经过 b64 解码后为 0x789C。这是一个 Zlib 标头。
解决了
要在没有标头和校验和的情况下处理原始 deflate 和 inflate,需要进行以下操作:
在放气/压缩:去除前两个字节(标题)和最后四个字节(校验和)。
在膨胀/解压缩:窗口大小有第二个参数。如果此值为负数,它将抑制标头。这是我目前的方法,包括 base64 编码/解码 - 并且工作正常:
php - PHP gzcompress vs gzopen/gzwrite
我正在编写一个生成 gzip 文件的 PHP 脚本。我一直在使用的方法是在 PHP 中构建一个字符串,然后 gzcompress() 将该字符串写入脚本末尾的文件中。
现在我正在用更大的文件测试我的脚本并遇到内存分配错误。结果字符串似乎变得太大而无法一次保存在内存中。
为了解决这个问题,我尝试使用 gzopen() 和 gzwrite() 来避免在 PHP 中分配大字符串。但是,使用 gzwrite() 生成的 gzip 压缩文件与我使用 gzcompress() 时非常不同。我尝试了不同的拉链级别,但没有帮助。我也尝试过使用 gzdeflate() 并最终得到与 gzwrite() 相同的结果,但仍然与 gzcompress() 不同。不同的不仅仅是前两个字节(zlib 头),而是整个文件。
gzcompress() 与 PHP 中的其他 gzip 函数有何不同?有没有一种方法可以在逐步产生结果的同时模拟 gzcompress() 的结果?
c++ - C/C++ 打包和压缩
我正在从事一个商业项目,该项目需要将几个文件捆绑(打包)到存档中,然后进行压缩。现在我们的实用程序库中有 zlib,但它看起来不像 zlib 具有将多个文件压缩到一个存档中的功能。有谁知道我可以为此使用的免费库?
c++ - 在 C++ 中解压缩目录
我正在创建一个可以读取 .docx 纯文本的 C++ 程序。我的攻击计划是将 .docx 重命名为 .zip,然后解压缩。然后,我将包含文档文本的 .xml 文件重命名为 .txt 并将其解析出来。
现在我已经弄清楚了很容易的重命名。我现在正在努力解压缩。我非常精通 C++,但这是我第一次将自己扩展到真实的应用程序并在 STL 库之外使用它。
起初,我尝试了 zlib 库中的许多 C++ 包装器,但无法让它们中的任何一个编译或正常工作(可能是由于环境位于 Cygwin 中)。出于这个原因,我似乎必须默认使用凌乱的 zlib 代码来执行此操作。但是从所有文档和示例中,我可以发现它仅显示 zlib 用于读取 .zip,该 .zip 是一个文件而不是多个文件的压缩。我现在不知道从哪里开始,就像我之前所说的,对于 STL 之外的领域是全新的,我感到非常迷茫。
非常感谢任何帮助或指导!
谢谢,迈克尔
ruby - 有没有人尝试在 Ubuntu(最好是 Ubuntu 9)上从源代码安装 ruby 和 rubygems?
Ruby on Rails 网站建议在 Linux 下从源代码安装 Ruby。我在全新安装的 Ubuntu 9 上从源代码构建 ruby 时遇到了许多 C 库问题。
我在网上找到的关于在 Ubuntu 上安装 ruby 的所有说明都涉及使用预打包(基于.deb)的 ruby。显然,这不是人们推荐的铁轨。
当我对 ruby 进行干净的源代码构建时,我发现 Rubygems 无法安装,因为 zlib 扩展不起作用。
出现两个问题:
1) zlib 扩展未构建。
解决方案:
i) 确保 zlib 在 ruby 源的 extn 目录中的 Setup 文件中未注释,并且
ii) 确保安装了这些 zlib ubuntu 软件包:
2) 在解决了上面的问题 1 之后(并对 ruby 进行了干净的重建),zlib 仍然无法工作,因为扩展无法加载。
您可以通过运行此命令并获取输出“false”来看到模块无法加载:
我观察到 extn 目录中的任何数量的其他 C 扩展都会发生这种情况,因此这些扩展似乎是一个更普遍的问题,而不仅仅是 zlib 特定的问题。
总结一下:
- 我的 ruby 构建找到了特定于 ruby 的 C zlib 扩展,但它无法加载 zlib 模块。
- 此行为似乎发生在 /extn 中的其他扩展上。
有没有办法找出模块无法加载的原因?某种跟踪/详细模式?
gzip - 我可以使用 zlib 解压缩 .NET GZipStream 吗?
我可以使用 C++ 中的 zlib 库解压缩使用 .NET GZipStream 压缩的字节流吗?
python - python中的zlib解压
好的,所以我有一些由 python (2.6) zlib.compress() 函数压缩的数据流。当我尝试解压缩它们时,其中一些不会解压缩(zlib 错误 -5,这似乎是一个“缓冲区错误”,不知道该怎么做)。起初,我以为我已经完成了,但我意识到我无法解压缩的所有文件都是从 0x78DA 开始的(工作的是 0x789C),我环顾四周,这似乎是一种不同的 zlib 压缩——幻数根据使用的压缩而变化。我可以用什么来解压缩文件?我被灌醉了吗?