问题标签 [lzma]

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 投票
2 回答
352 浏览

java - 具有多种压缩方法的 zip 的单个 Java 实现

对于我在 Java 中的作业,我需要在创建 zip 文件时比较各种压缩方法(例如 Deflate、Implode、BZIP2 和 LZMA),并比较它们的速度和 zip 文件大小。我确实为上述方法找到了单独的 Java 实现,但我希望所有方法都有一个库,这样不同的实现不会影响结果(可能不会有任何区别,但仍然) .

那么是否有任何带有源代码的 Java 库,它支持多种 zip 压缩方法?

0 投票
1 回答
348 浏览

python - Pylzma减压减速

我正在使用https://github.com/fancycode/pylzma的 py7zlib.py 来解压一个具有超高压缩率的大文件。

例如,一个 7z 文件包含 450K 个小文件

起初,它很好地解压。

然后它开始将减压速度减至零……

是否有任何用于提高速度的优化或参数?

0 投票
3 回答
2446 浏览

delphi - 如何使用 JCL 压缩单元解决“Sevenzip: Error result (00000001) Incorrect function”

我将 JCL 版本 2.4.1.4571 与 Delphi XE3 一起使用,并且没有运气解压缩档案。我已经从 JEDI 的站点下载了 dll,还尝试使用7z.dll7-zip.org 中的(32 位),但无论哪种方式,当我尝试“ExtractAll”时,我都会遇到同样的错误

见下面的功能:

当我执行该MyArchive.ExtractAll行时,我得到一个异常,Sevenzip: Error result (00000001) Incorrect function. 我的代码基于 StackOverflow 上其他人的代码。我错过了我需要先做的事情还是这是一个错误?我已将提取行替换为MyArchive.ListFiles并得到相同的错误(我在此处的示例中看到了这一点;但是,我还没有猜到 ListFiles 的用途。
编译为 32 位目标。

编辑:使用 7-zip 创建了一系列不同类型的档案,并尝试用我的程序解压缩每个档案。我发现的第一件事是,如果存档包含文件目录,如果不将第二个参数设置为 True,ExtractAll 将崩溃。然后我用不同的压缩方法测试了档案。

使用 LZMA2 Ultra 压缩的 .7z 存档会导致 Hresult = 1 错误

使用 LZMA Ultra 压缩的 .zip 存档会导致 Hresult = 1 错误

使用 Deflate 或 deflate64 风格的 .zip 档案都可以正常工作。

该库似乎根本不处理 LZMA 压缩。由于 7z.dll 无法处理它是没有意义的,我猜问题出在 JEDI JCL 代码上。我需要能够在这个库中使用 LZMA 压缩/解压缩 .7z 和 .zip,或者我可以从使用内置的 zip 内容开始。任何进一步的建议将不胜感激。

0 投票
1 回答
3590 浏览

.net - 在 VB.NET 中处理 7z 压缩文件

我需要有关 7z 压缩文件的具体帮助。我希望大家都知道什么是 7z 文件。它是由 7zip 创建的压缩文件格式。

我需要向最终用户提供 10+ GB 的大量数据(使用 7zip 压缩后)。

因此,我使用 7zip 压缩数据并将文件拆分为 1024MB (1GB)。因此,例如对于 10GB 数据,它将是 10 个文件,例如:

所以,我把这些数据放在了 3 张 DVD 盘上。

我还为该数据制作了一个提取器/安装程序(稍后我将其称为我的应用程序)。

我的应用在后台使用 7zip CLI(命令行界面)来提取数据。我把我的安装程序也放在了 DVD 中。

当前场景:

现在用户必须首先将所有磁盘(本例中为 3 个磁盘)复制到一个文件夹中。然后运行我的安装程序以提取文件。

他们必须将所有磁盘放入单个/同一文件夹中,因为 7z GuI/CLI 不支持查找未找到的文件。我的意思是,例如,如果 Data.006.7z 文件丢失,它不会要求用户浏览并选择该文件。它只会中止该过程并显示错误消息。

当前场景的问题:如上所述,用户必须首先将所有磁盘复制到他们的硬盘中。它有3个主要问题:

我在找什么:我见过 7zip 有 LZMA SDK。但没有 vb.net 客户端库 :(。我希望在我的 vb.net 项目中使用 LZMA SDK。所以,我可以处理那些 7z 文件并克服 7zip gui/问题。

因此,我的应用程序将首先提取在磁盘 1 中找到的 7z 文件,例如 001 到 004,然后它会要求第二个磁盘,当用户放置第二个磁盘时,它将从该数字继续,例如 005,完成后将要求磁盘 3什么时候需要等等..

希望这是有道理的?

我知道这是可能的,因为我看到一些安装程序使用 LZMA 压缩可能覆盖多个磁盘的文件,然后安装程序正确安装它们:)

那么,任何人都可以帮助我实现目标吗?请?

预先感谢..

此致

0 投票
1 回答
221 浏览

java - 用java膨胀lzma zip文件

我有一些 zip 文件,它们在十六进制编辑器中的第一个字节是:504B0304 (PK..)

我需要用 java 代码给它们充气,但即使它们有 zip 文件结构,它们也是用 lzma 压缩的,我知道是因为我用 7zip 给它们充气了。

所以我需要找到一个库来膨胀用 lzma 压缩的 zip 文件,有人知道如何做到这一点的任何例子吗?

0 投票
0 回答
1032 浏览

python - 由 7zip 制作时在 python 中打开存档(7z)文件时出错

我一直在学习 python 掌握了基础知识

为了变得更好,我一直在尝试创建一个程序来打开存档文件,而不是创建只是打开。

我可以轻松地创建和打开 7z 文件,但是当使用 7zip 创建存档时它不会打开它,任何人都知道为什么以及如何打开由 7zip 创建的文件

追溯

0 投票
1 回答
330 浏览

objective-c - 使用 Objective C 的 LZMA 解压

如何使用目标 c 解压缩 lzma 文件?我有解压缩文件的信息,例如标题大小,但我不知道如何执行该过程。

0 投票
1 回答
363 浏览

java - 如何使用 LZMA 压缩解压缩 java gzip 文件

我需要在 java 中解压缩一个用 LZMA 压缩的 gzip 文件。在这里http://forum.xentax.com/viewtopic.php?f=21&t=12065解释说,他们将其传递给 lzma 解码原始数据函数的数据从偏移量 14 开始,并以字节 5D 开始。

我已经下载了 7zip SDK,但我没有找到实现它的方法。所以我需要在 java 中找到一个库,它允许我做他们在那个链接中所做的事情。

如果有人想尝试在 java 中解压缩,我在这里上传了文件: https ://onedrive.live.com/redir?resid=C84F192CB5EEBC9!714&authkey=!ANbGTpAwTzw5FaA&ithint=file%2cbin

0 投票
0 回答
904 浏览

python-2.7 - 如何在 Linux 上安装 pylzma 库?

pylzma 库是我想使用的另一个工具的要求。我是 python 和编程新手,有几个问题:

我已经按照程序从以下站点下载和安装 pylzma,因为它似乎是最简单的: https ://code.google.com/p/threadzip/wiki/InstallingPylzma

但我被困在字节编译 py7zlib 部分。

如何字节编译py7zlib?

当我查看作者页面http://www.joachim-bauch.de/projects/pylzma/上的文档并转到指定文件夹时,我看到以下文件:

在 /tmp/pylzma-0.4.6/build/lib.linux-i686-2.7 文件夹中,我看到: py7lib.py py7zlib.pyc pylzma.so

但是没有作者页面上所述的“py7zlib.pwd”,但是我确实看到了列出的原始页面上的“py7zlib.pyc”。

我还需要编译这个字节码吗?

当我在 python 提示符下“导入 py7lib”时,我什么也看不到,没有反馈或错误。如何检查它是否已正确导入以及我是否已正确安装此库?

感谢您的反馈意见。

0 投票
0 回答
775 浏览

c# - 使用 7zip SDK 解码具有 .xz 扩展名的 LZMA2 文件

我需要解码使用 7zip 创建的 .xz 文件。压缩算法是 LZMA2。我应该如何使用 7zip SDK for C# 来解决这个问题?我已经尝试过使用此代码,但它不起作用:

我标记了导致异常的行。