问题标签 [xz]

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 投票
0 回答
239 浏览

objective-c - 如何在 macOS 应用程序目标 c 中将文件压缩为 .xz 格式

我正在尝试构建一个归档器应用程序,其中将压缩 zip、7z、xz 等格式我已经实现了 zip 和 7z,但在 .xz 格式中遇到了困难。

我发现XZ utils-The Tukaani Project我可以使用它进行压缩,但是在尝试使用其他应用程序取消存档以测试天气时它是否正常工作,但它给了我错误“无法提取文件的内容”。

从该库中,我使用03_compress_custom.c类进行压缩,下面的代码存在于此类中。

是否有任何其他库可以实现它,或者是否可以使用 NSTask 制作?

有什么建议么?

最后在这种方法中,我正在执行压缩

0 投票
2 回答
375 浏览

rust - 如何即时从 hyper::Response 解压缩 XZ 数据?

我正在下载一个带有hyper的 XZ 文件,我想通过从每个传入的文件中尽可能多地提取Chunk并立即将结果写入磁盘,而不是先下载整个文件然后解压缩,从而将其以解压缩的形式保存到磁盘。

有实现 XZ 格式的xz2 crate。但是,它XzDecoder似乎不支持类似Python 的decompressobj模型,在这种模型中,调用者反复提供部分输入并获得部分输出。

相反,XzDecoder通过Read参数接收输入字节,我不知道如何将这两个东西粘合在一起。有没有办法喂ResponseXzDecoder

到目前为止我发现的唯一线索是这个问题,它包含对私有ReadableChunks类型的引用,理论上我可以在我的代码中复制它 - 但也许有更简单的方法?

0 投票
2 回答
1379 浏览

c - 使用 Cmake/CLion 在 Windows 上编译 lzma 库的一种非痛苦方式?

我在这个问题上花了 2 天时间,但仍然不知道该怎么做。

我要做的就是用 C 语言构建一个程序,或者更确切地说是一个函数,它将接收一个压缩的 lzma 文件,然后在 Windows 上解压缩它。我正在使用 CLion 和 Cygwin 64 3.0.1 进行操作。

听起来容易吗?可能,除了我尝试的所有简单方法都不起作用的事实。

让我先解决这个问题,因为我不熟悉 Cmake,所以这就是我寻求建议的原因。

我尝试过的方法:

1)

在github上搜索了很多代码,我只是看到他们做

很好,只是在 Windows 上不起作用。当我编译时,我得到了错误:

谷歌搜索告诉我,我缺少用于 lzma 开发的库,解决方案只是简单地做一个 sudo apt,然后......你猜对了:不适用于 Windows。

2)

也许是 Cmake 的东西,所以我们先尝试用简单的 gcc 编译。我抓住了一个简单的解压缩代码 #include <lzma.h>并尝试在 Ubuntu 上编译它。太棒了,一切都很顺利。

回到 Windows,我打开了 Cygwin 终端。哦,当然在 Cygwin 中,我已经下载了 liblzma-devel。

编译运行很好。但是在启动可执行文件时:

什么...即使我专门下载了这些文件并将它们与可执行文件放在同一个文件夹中,它仍然无法正确启动。

3)

回到 Clion/Cmake。

我查看了Lzma SDK,但无济于事。我应该向 Cmake 文件写入什么代码?我找不到任何说明如何在 C 中使用它的指南,更不用说使用 Cmake 编译它了。

谷歌搜索“Cmake Lzma”将我带到FindLibLZMA,我不知道他们在写什么。我仍然不知道将哪一行放入我的 CmakeList.txt 文件中,例如add_libraryfind_package...不,什么都没有。

4)

最后,Xz Utils ...据我所知,最广泛的 Lzma 工具,当然不知何故,它也不起作用。

我将文件 FindLibLZMA.cmake(我从 github 拉下来)放入一个名为 Cmake 的文件夹中。然后我加了

进入 CmakeList.txt 文件。然后我将LIBLZMA_INCLUDE_DIRFindLibLZMA.cmake 文件中的文件设置为包含 Windows 的 Xz Utils 的文件夹...你猜对了,编译错误:

所有这些库或其他东西都是必需的,但它们在哪里?编译器找不到它,所以是的......再次,我被卡住了。

我从昨天开始一直在尝试,但我仍然卡住了。

所以拜托,我现在很累。任何善良的人都会告诉我如何使 Lzma 库在 Windows 上与 Cmake 一起工作...请...请。谢谢!

0 投票
1 回答
204 浏览

java - 我的代码有什么问题吗?为什么压缩和解压缩速度比其他应用程序慢?

我正在创建使用 xz 压缩方法的压缩和解压缩应用程序。但是与使用相同压缩方法的另一个应用程序相比,压缩和解压缩速度较慢。例如,我尝试将 15mb 文件解压缩为 40mb 文件,我的代码大约需要 18 秒,而在另一个应用程序上只需要大约 4 秒。

我正在使用来自XZ for Java的 XZInputStream 和来自Apache Common Compress的 TarArchiveInputStream

0 投票
2 回答
2125 浏览

r - 如何在 CentOS 6 上配置和构建 lzma?

我正在尝试在 CentOS 6 上配置和构建 lzma 版本 5.0.3 或更高版本。我尝试安装 R 版本 3.5.2。

但是这个错误

我安装了 lzma 版本 4.999。

0 投票
2 回答
2208 浏览

windows - 在命令行上创建一个 tar.xz 文件

如何在 Windows 上将 tar 文件压缩为 tar.xz 文件?

我将我的文件夹转换为 tar 文件,如下所示:

  1. 选择了文件
  2. 右键单击突出显示的项目之一
  3. 单击添加到存档
  4. 从归档格式下拉菜单中选择 tar
0 投票
1 回答
988 浏览

linux - Ubuntu 18.04:无法使用单个命令提取下载的 tar.xz 文件

我正在尝试tar.xz使用单行命令下载和提取文件。但是,它并非始终适用于所有链接。我可以手动下载并解压它。

我可以下载 glibc 并解压,没有任何问题。

在下载以下文件时,它出乎意料地失败了。我不知道有什么不同。这是迄今为止我看到的失败的单个链接。

知道为什么以下命令失败了吗?

它失败并显示以下消息。

任何帮助,将不胜感激。

0 投票
3 回答
746 浏览

r - 如何读取 .tar.xz 文件?

我在这里下载了 Gwern Branwen 数据集:https ://www.gwern.net/DNM-archives

我正在尝试读取 R 中的数据集,但遇到了很多麻烦。我试图打开数据集中名为“1776.tar.xz”的文件之一,我想我用 untar() “解压缩”了它,但我没有得到任何东西。

编辑:感谢到目前为止的所有评论!代码在 base R 中。我有多个从 Gwern 网站下载的数据集。我只是想打开一个探索。

0 投票
0 回答
124 浏览

compression - 如何在一个可靠的存档中压缩多个文件,但快速只提取一个?

我有 14,000 个 25 MB 文件,我正在尝试将它们压缩到最小大小以进行存储。在运行时,我只需要解压缩一两个文件。有足够的文件内冗余,它们可以很好地压缩,但也有足够的文件间冗余,首先去皮使压缩率加倍:

有没有办法以压缩器可以利用文件间冗余的方式压缩一组文件,但解压缩器不需要解压缩所有数据?在运行时提取 33GB 的 tar 将是站不住脚的。我可以直接使用压缩器库 API,但不希望大量修改库本身。

我尝试使用zstd,从完整文件集中训练字典,使用该字典进行压缩,但压缩率没有任何改善(zstd 字典似乎只对非常小的文件有帮助)。

0 投票
1 回答
385 浏览

archlinux - 如何为 xz 归档器设置默认参数?

默认情况下xz,压缩器使用单线程(例如,从 AUR 压缩新创建的包)。有一个--threads使用更多线程的选项。

我在哪里可以设置 xz 的全局设置,以便将线程选项设置为我的值?在人中找不到任何信息。