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

c++ - 制作自定义自解压器

我会解释我想要什么,然后我会解释我是如何努力实现它的。我想知道我是否以正确的方式解决这个问题,或者是否有更容易的事情。

我想要的是:一个发生在 ALSO 上的自解压可执行文件还有一个额外的入口点(这使得可执行文件可以像 DLL 一样适当地使用)。附加入口点不能是压缩负载一部分。奇怪的是,入口点不会执行任何 LZMA 函数(请不要问为什么……长篇大论)。仅供参考:使用 DLL 入口点制作可执行文件是一件小事——我已经知道该怎么做。

我是如何追求的:我已经下载了 LZMA SDK 并将构建我自己的 C++ 自解压器。似乎没有 LZMA API 文档。显然,如果我想学习如何使用 LZMA,我必须阅读 .\C\util\7z\7zmain.c 或 .\cpp\7zip\bundles\lzmaCon\lzmaAlone.cpp。我不知道学习这些是不是最快的学习工具。

创建自解压代码后,我将添加所需的 DLL 入口点并进行构建。生成的 EXE 自解压器我将与一个 zip 文件连接(一个 DOS 命令应该足以连接这两个文件)。这应该可以实现我的目标。

想法?

ps顺便说一句,我在这几年前已经完成了部分工作。我制作了一个自解压器(我认为是 C# 中的)可执行文件,然后我将其与一个 zip 文件(通过 DOS 命令)连接起来。瞧,出现了一个自解压的 zip 可执行文件。使我目前的工作与众不同的是,我现在使用的是 C++,并且我需要这个额外的/任意的 DLL 入口点。

0 投票
5 回答
10192 浏览

javascript - Javascript中是否有可用于压缩的库

我正在寻找以压缩格式将数据从服务器发送到客户端(使用 ajax 请求),然后使用浏览器解压缩该数据?有这方面的图书馆吗?

我不是在寻找压缩 javascript 文件!

编辑:我认为问题不够清楚,我不想压缩 html 文件,我想在服务器上存储一些压缩的 LZMA 文件或任何其他压缩格式(如 obj 文件),然后我需要在之后解压缩它们我用 AJAX 得到了它。不能与 gzip 同时压缩/解压缩。使用 Javascript 获取文件后打开已压缩的文件。

0 投票
1 回答
3256 浏览

r - 保存 R 项目时的压缩问题

我通过将 R 安装目录移出磁盘 C 解决了这个问题。感谢 Joris 的好建议!我认为R核心团队也应该把这个当成一个bug,针对windows xp的保护机制做点什么。

亲爱的社区:

在 R 中使用 BIOMOD 包时,我总是遇到以下问题:

xzfile(file,“wb”,compression = 9)中的错误:无法打开连接另外:警告消息:在xzfile(file,“wb”,compression = 9)中:无法初始化lzma编码器,错误5

包的作者和“save”的帮助文件中都说这个问题应该是没有写权限引起的。但是,由于我以管理员帐户登录并对所有操作进行了评估,我不知道问题出在哪里。有人可以帮帮我吗?我现在真的需要运行这个包。先谢谢了~

真诚的,马可

下面是“保存”帮助文件中的图示:

失败的最常见原因是当前目录中缺少写权限。对于“save.image”和在会话结束时保存,这将通过如下消息显示

对不起,信息的遗漏:这是 sessionInfo():

现在我发现问题来自 lzma 编码器进行“保存”:

0 投票
6 回答
40658 浏览

java - Java中如何使用LZMA SDK进行压缩/解压

http://www.7-zip.org/sdk.html 这个站点提供了一个用于压缩/解压缩文件的 LZMA SDK,我想试一试,但我迷路了。

有人有这方面的经验吗?还是教程?谢谢。

0 投票
1 回答
9413 浏览

c++ - C++ lzma分部压缩和解压大流

我需要即时进行 lzma 压缩和解压缩。我通过 Qt 中的 qnetworkmanager 接收一个大文件,我需要在下载数据流时对其进行解压缩。

当我收到部分数据流时,我需要对其进行解压缩,附加到文件中,然后在此过程中释放任何已使用的内存。做这个的最好方式是什么?

现在我正在尝试使用 xz-utils,纯 c api,也许有人可以提出更好的方法?

以下基于示例的代码

UPD2:

我已经睡了几个小时,现在我想得更清楚了,修复了我的错误代码,更新了它(它的行为就像 qCompress 一样)

UPD3:

解压代码(类似qUncompress的行为)

UPD4:

基本的流解压类,下面的代码只是解压从http服务器下载的xz流,正是我需要的:

和实现:

所有这些都基于第一个链接中的示例,您需要用您的代码替换注释的代码部分,以对未压缩的数据执行某些操作。

我想看看对此代码的任何建议

您还需要将“compressed_file_request_finished”插槽连接到 qnetworkmanager 的完成信号以完成未压缩数据。

UPD5:

修复了lzCompress和lzUncompress,现在看起来工作正常,不确定在handle_new_data中使用LZMA_FULL_FLUSH,因为我读到这是我需要的,但仍然不确定,现在我调整现有代码以使用它......

UPD6:

你还需要这样的东西:

在此代码工作的可见范围内。

UPD7:

updated code, all tested and working, i have found that liblzma not completely thread-safe, i tried to make multi-threaded compression of filelist. and it crashing very often.

0 投票
9 回答
55071 浏览

zip - 为什么 *.tar.gz 仍然比 *.tar.xz 更常见?

每当我看到一些用 GZip 压缩的源包或二进制文件时,我想知道是否还有理由偏爱 gz 而不是 xz(不包括到 2000 年的时间旅行),LZMA 压缩算法的节省是可观的,解压缩并不比压缩包。

0 投票
3 回答
2666 浏览

c++ - 在 C++ 中使用 LZMA SDK

我可以在我的应用程序中使用 LZMA SDK 而不使用任何 dll 库,例如 7z.dll 或 7za.dll,这样我的应用程序的可执行文件不应该有任何依赖关系吗?

如果不可能,我在哪里可以下载 7z.dll/7za.dll?我从 7-zip.org 下载了 LZMA。

谢谢

0 投票
1 回答
98 浏览

jax-rs - LZMA JAX-RS 支持

我通过对基于 REST 的 Web 服务的请求接收 LZMA 压缩数据。jax-rs 规范是否支持 LZMA?我正在使用 JAX-RS 规范的 RESTEasy 实现。我的应用服务器响应无效请求错误

0 投票
2 回答
108 浏览

ruby - 那个长长的乱码字符串和 Ocra 或 Ruby2Exe 的结尾是什么?

这是它的一部分...

这与LZMA压缩有关吗?像种子一样?

0 投票
1 回答
789 浏览

c# - Windows 窗体应用程序中的 LZMA 压缩

我以前使用过 NSIS 创建安装程序,我喜欢它支持的 LZMA 压缩。

现在我正在学习 VS,想知道我们是否可以使用 LZMA 或任何其他方式压缩文件?

我主要使用 C# 和 Windows 窗体。