问题标签 [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 投票
7 回答
22351 浏览

c++ - 如何使用 C++ 压缩文件目录?

我正在开发一个使用 C++、Boost 和 Qt 的项目。我了解如何使用 Qt 中的 qCompress() 函数来压缩单个文件和字节流。

如何压缩包含多个文件的目录,包括子目录?我正在寻找一个跨平台(Mac、Win、Linux)的解决方案;我不想启动一堆新流程。

是否有一种标准方法可以将来自多个文件的字节流组合成一个压缩存档,或者 Boost iostream 库中是否有一个方便的函数或方法?

非常感谢您的帮助。

更新:QuaZip 库看起来非常棒。下载包中有一个示例(在“测试”目录中),它非常清楚地显示了如何压缩文件目录。

更新 2:在我的 Linux 构建环境上完成此任务后,我发现 QuaZip 根本无法与 Visual Studio 编译器一起使用。有可能解决所有这些编译器错误,但请注意这条路径的任何人。

0 投票
5 回答
17381 浏览

c# - .NET 中的良好 zlib 实现?

我正在构建一个网络应用程序,它需要能够从正常的网络流量切换到zlib压缩流、中间流。我对此事的想法涉及布尔开关,当打开时将导致网络代码通过我可以输入的类传递所有数据IEnumerable<byte>,然后提取解压缩的流,将其传递给已经存在的协议解析代码。

我看过的东西:

  • ZLib.NET - 看起来有点……不拘一格,并不是我想要的。尽管如此,仍然会是一个不错的开始。(Jon Skeet 在这里的评论也几乎没有启发我。)
  • SharpZipLib - 这似乎根本不支持 zlib?任何人都可以确认或否认这一点吗?

我非常喜欢所有托管解决方案,但让我们来看看......在.NET中是否有这个库的任何其他实现,这可能更适合我想要做的事情,或者我应该使用ZLib。 NET 并以此为起点?

PS:

乔恩要求提供更多细节,所以就在这里。

我正在尝试实施MCCP 2。这涉及到在网络流中发送的信号,并且该信号之后的所有内容都是 zlib 压缩数据流。在上面的链接中有指向它们的确切含义的链接。无论如何,要清楚,我在这个(客户端,而不是服务器)的接收端,我已经从网络流中读取了一堆数据,并且切换将在这个中间(总共至少可能),因此任何解决方案都需要能够在接管 NetworkStream 之前将一些额外的数据输入其中(或者我手动输入其余数据)。

0 投票
5 回答
10003 浏览

php - 从 zip 文件中提取数据 (PHP)

我有一个来自Net Tuts网站的教程,该教程用于上传 zip 文件并将文件中的数据提取到服务器中。

直接从网页复制和粘贴代码不起作用,在处理脚本的中途出现错误。

这可能与我使用的 PHP 版本有关吗?这是它卡住的代码:

第 6 行:$zip = new ZipArchive();

我正在使用 PHP 版本 4.3.9。

0 投票
5 回答
47114 浏览

c++ - 如何在 C++ 中读取/写入 gzip 压缩文件?

如何在 C++ 中读取/写入 gzip 压缩文件?

这里iostream包装类看起来不错,下面是一个简单的使用示例:

但我无法真正链接它(虽然我有一个/usr/lib/libz.a)。一个简单的

没有这样做(undefined reference to gz::gzstreambase::~gzstreambase())。

0 投票
2 回答
1893 浏览

c# - 使用 C# 为 FTP 实现 MODE Z 压缩

我正在尝试使用 C# 为我编写的 FTP 客户端实现 FTP 的 MODE Z 压缩。我的理解是 MODE Z 使用与 zlib 相同的压缩。我无法从 componentace 获取 zlib.net 来工作。在上传到 FileZilla FTP 服务器后,它会破解文件的最后一部分。MODE Z 的规格在哪里?还有其他人对 zlib.net 有问题吗?.NET Framework 中的 deflate 也不兼容 MODE Z。

0 投票
5 回答
65338 浏览

c# - 从 C# NET 3.5 中的字节 [] 保存文件

我的 TCP 客户端接收到一个数据包中的图像。图像是用 zlib 压缩的。任务是解压缩图像并将其放在表单上。

我打算将压缩后的图像保存在当前目录中,解压并在表单上加载解压后的文件。

第一个问题来自保存文件(压缩)。zlib 可以将其保存为解压缩。

下面的代码加载压缩文件,解压后保存。

如何将 byte[] 数组直接传递给该函数?我打算将其保存为压缩文件,然后使用压缩文件的位置调用该函数,但我既不知道如何从 byte[] 数组中保存文件,也不知道如何传递 byte[] 数组作为输入文件。

任何帮助将不胜感激。

谢谢。

0 投票
2 回答
18006 浏览

c# - zlib 从 C++ 到 C#(如何将 byte[] 转换为流和流到 byte[])

我的任务是使用 zlib 解压缩数据包(收到),然后使用算法从数据中制作图片

好消息是我有 C++ 代码,但任务是用 C# 来完成

C++

我正在尝试使用 zlib.NET 执行此操作,但所有演示都有要解压缩的代码(C#)

我的问题:我不想在解压后保存文件,因为我必须使用 C++ 代码中显示的算法。

如何将 byte[] 数组转换为类似于 C# zlib 代码中的流以解压缩数据,然后如何将流转换回字节数组?

另外,如何将 zlib.NET 代码更改为不保存文件?

0 投票
13 回答
66358 浏览

ruby-on-rails - Ubuntu rails 安装在 zlib 上失败

我刚刚转移到 Ubuntu 8.10 作为我的开发工具箱;这是我第一次认真尝试将 Linux 作为日常使用的操作系统,我很难让 Rails 运行起来。我遵循了许多似乎都可以正常工作的教程,但是当我尝试在任何东西上使用 gem install 或 gem update 时,我得到一个看起来像这样的错误:

我已经(按照教程中的建议)安装了 zlib、zlib1g 和 zlib1g-dev。我什至找到了一些关于这个特定问题的教程(但是,所有这些都是针对我以外的口味),但它们没有帮助。

我在 Ubuntu 8.10,ruby 版本 1.8.8dev gem 版本 1.3.2

我试过分别重新安装红宝石和宝石,但无济于事。

0 投票
1 回答
269 浏览

ruby - 编译 Ruby 1.8.7 Build 160 时出错

我昨天正在编译 Ruby 1.8.7 的最新版本(因为最新版本还没有二进制文件)。

我按照自述文件中的说明进行操作,但是当我安装 ruby​​ gems 并对其进行更新时,它会显示找不到 zlib.so 的错误。

我很确定我已经下载了 zlib 库等。我还调查了 nmake 日志,这就是错误的样子。

conftest.c(8) : 错误 C2065: 'deflateReset' : 未声明的标识符

我错过了什么吗?

谢谢 :)

0 投票
2 回答
1130 浏览

c# - 没有已知校验和的 Mono/.Net 的 Zlib

我需要实现一个特殊的 ZLib 实现,它应该在 .Net 和 Mono 下运行。数据/字符串消息是通过套接字接收的,因此缺少校验和。这是关于原始字符串数据,而不是文件。

我曾尝试使用 GZipStream 和 DeflateStream 解压缩数据,但我认为 GZStream 由于缺少校验和而失败。我也尝试了各种偏移,但没有运气。不使用校验和,因为无论如何都是通过套接字接收数据 - 因此 ZLib 校验和将是额外的开销。我是否遗漏了什么,或者您能解释一下如何添加校验和并调用正确的库,还是我应该查看支持 Mono 和 .Net 的第 3 方库?编辑:性能非常关键,因为这至少每秒完成一次。最后你会推荐我通过 Interop 使用 C-Lib 吗?我现在总是收到无效数据异常,我认为它与错误的校验和有关。这是我尝试使用但没有成功的实际代码: