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

lzma - LZMA 压缩设置详细信息

我真的需要知道每个 lzma 参数 (mf, fb, lp, ...) 的含义。我在互联网上找不到任何好的文档。我需要这个算法的细节。最详细的是: http ://www.bugaco.com/7zip/MANUAL/switches/method.htm 我将不胜感激。

最好的祝愿,沙迪。

0 投票
1 回答
1902 浏览

objective-c - 如何在 C / Objective-C 中传递密码以解码 LZMA (7zip) 加密存档?

有谁知道如何在 LZMA SDK 中传递密码来解码功能?

0 投票
2 回答
1395 浏览

python - 在python中创建一个lzma文件

我需要使用现有的 .tar 文件和另一个元数据文件创建一个 lzma 文件,以进一步创建一个 zip 文件。

0 投票
2 回答
3814 浏览

python - 如何在python中创建一个lzma文件

如何在python中创建lzma文件并添加文件

0 投票
1 回答
614 浏览

compression - ZIPX 压缩方法 2048

我有一个使用压缩方法 2048 的 zipx 文件。我知道 ZIPX 格式使用四种压缩方法之一(LZMA、BZIP2、PPMd、WavPack)。与这些方法相关的压缩方法编号是:

  • LZMA (14)
  • BZIP2 (12)
  • PPMd (98)
  • 波形包 (97)

有人了解压缩方法 2048 代表什么(名称)吗?谢谢你。

0 投票
1 回答
5247 浏览

java - 在 Java 中解压缩包含多个文件和目录的 7zip 存档

我想用 Java 解压缩一个包含多个文件和目录的 7zip/lzma 存档。我尝试使用官方的 7zip SDK,但我失败了,因为我的编程技能对于这个主题并不那么先进。但是,我喜欢一些使 Java 支持更容易的库,谈到 LzmaOutputStream/LzmaInputStream - 但是我不知道如何使用这些“流”来解压缩多文件存档。我被困住了。

0 投票
1 回答
682 浏览

c - 尝试从 LZMA SDK 编译 LzmaUtil.c

我希望在我自己的 C 实用程序中本地使用 LZMA。我已经从http://www.7-zip.org/sdk.html(版本 9.12 beta)下载了 LZMA SDK - 但我根本无法编译他们的 LzmaUtil。

这是我尝试过的,使用 MinGW:

当我尝试使用 lzma 时:“lzma.exe e inputfile outputfile” - 没有任何反应。(只需返回而不打印或创建输出文件)

任何人都可以帮忙,我做错了什么?

0 投票
5 回答
5085 浏览

delphi - Delphi 中的 LZMA 或 7zip

Delphi 中是否有任何库来处理 LZMA(或 7zip)文件,包括创建自解压 EXE

(c++ java c#) 中的7zip.org有一些源代码,但我希望它们在 delphi 中

但我想要一些独立的东西(没有 DLL)

0 投票
1 回答
4166 浏览

python - 安装/编译 pylzma (lzma python binding)

我已经在作者网站上发布了这个问题,但我想我也可以在这里问。

我一直在尝试使用此设置安装 pylzma:

  • 视窗 7 x64
  • Python 2.6.6 x64
  • 来自 windows server 2003 sdk 的 amd64 编译器
  • 克隆了 git repo git://github.com/fancycode/pylzma.git

通过一个简单的easy_install pylzma我得到了这个:

cl : 命令行警告 D9025 : 用 '/MT' 覆盖 '/MD' pylzma.c src/pylzma/pylzma.c(85) : 警告 C4244: '=' : 从 'Py_ssize_t' 转换为 'int',可能会丢失数据的

src/pylzma/pylzma.c(102) : 错误 C2275: 'CSha256' : 非法使用这种类型作为表达式 c:\users\xavier.lapointe\appdata\local\temp\easy_install-2mfkqu\pylzma-0.4.3 \src\pylzma../7zip/C/Sha256.h(18) :参见“CSha256”的声明

src/pylzma/pylzma.c(102):错误 C2146:语法错误:缺少“;” 在标识符“sha”之前

src/pylzma/pylzma.c(102):错误 C2065:“sha”:未声明的标识符

src/pylzma/pylzma.c(103):错误 C2065:“sha”:未声明的标识符

src/pylzma/pylzma.c(103) : 警告 C4133: 'function' : 不兼容的类型 - 从 'int *' 到 'CSha256 *'

src/pylzma/pylzma.c(104):错误 C2143:语法错误:缺少“;” 在“类型”之前

src/pylzma/pylzma.c(105):错误 C2143:语法错误:缺少“;” 在“类型”之前

src/pylzma/pylzma.c(106):错误 C2143:语法错误:缺少“;” 在“类型”之前

src/pylzma/pylzma.c(107):错误 C2143:语法错误:缺少“;” 在“类型”之前

src/pylzma/pylzma.c(108):错误 C2065:'round':未声明的标识符

src/pylzma/pylzma.c(108):错误 C2065:'round':未声明的标识符

src/pylzma/pylzma.c(108):错误 C2065:'rounds':未声明的标识符

src/pylzma/pylzma.c(108):错误 C2065:'round':未声明的标识符

src/pylzma/pylzma.c(109):错误 C2065:“sha”:未声明的标识符

src/pylzma/pylzma.c(109) : 警告 C4133: 'function' : 不兼容的类型 - 从 'int *' 到 'CSha256 *'

src/pylzma/pylzma.c(110):错误 C2065:“sha”:未声明的标识符

src/pylzma/pylzma.c(110) : 警告 C4133: 'function' : 不兼容的类型 - 从 'int *' 到 'CSha256 *'

src/pylzma/pylzma.c(111):错误 C2065:“sha”:未声明的标识符

src/pylzma/pylzma.c(111) : 警告 C4133: 'function' : 不兼容的类型 - 从 'int *' 到 'CSha256 *'

src/pylzma/pylzma.c(111):错误 C2065:'temp':未声明的标识符

src/pylzma/pylzma.c(112):错误 C2065:'i':未声明的标识符

src/pylzma/pylzma.c(112):错误 C2065:'i':未声明的标识符

src/pylzma/pylzma.c(112):错误 C2065:'i':未声明的标识符

src/pylzma/pylzma.c(113):错误 C2065:'temp':未声明的标识符

src/pylzma/pylzma.c(113):错误 C2065:'i':未声明的标识符

src/pylzma/pylzma.c(113):错误 C2109:下标需要数组或指针类型

src/pylzma/pylzma.c(116):错误 C2065:'sha':未声明的标识符

src/pylzma/pylzma.c(116) : 警告 C4133: 'function' : 不兼容的类型 - 从 'int *' 到 'CSha256 *'

错误:安装脚本退出并出现错误:命令 '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\cl.exe"' 失败,退出状态为 2

然后在谷歌搜索后我认为这是关于编译器(c90 vs c99),有些人建议将.c扩展名更改为.cpp。所以我这样做并相应地更改了 setup.py (主要是文件名)。

然后成功,它在 CpuArch.c(pp) 和另一个有语法错误的文件中进行了一些调整后编译。

现在的问题是链接器扼流圈:

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:C:\dev\pylzma\build\temp.win-amd64-2.6 \Release\src\pylzma /LIBPATH:C:\Python26\libs /LIBPATH:C:\Python26\PCbuild\amd64 user32.lib oleaut32.lib /EXPORT:initpylzma build\temp.win-amd64-2.6\Release\src/ pylzma/pylzma.obj build\temp.win-amd64-2.6\Release\src/pylzma/pylzma_decompressobj.obj build\temp.win-amd64-2.6\Release\src/pylzma/pylzma_compressfile.obj build\temp.win-amd64 -2.6\Release\src/pylzma/pylzma_decompress.obj build\temp.win-amd64-2.6\Release\src/pylzma/pylzma_compress.obj build\temp.win-amd64-2.6\Release\src/pylzma/pylzma_streams.obj build\temp.win-amd64-2.6\Release\src/pylzma/pylzma_aes.obj build\temp.win-amd64-2.6\Release\src/pylzma/pylzma_decompress_compat.obj build\temp.win-amd64-2。6\Release\src/pylzma/pylzma_decompressobj_compat.obj build\temp.win-amd64-2.6\Release\src\sdk\LzFind.obj build\temp.win-amd64-2.6\Release\src\sdk\LzmaDec.obj build \temp.win-amd64-2.6\Release\src\sdk\LzmaEnc.obj build\temp.win-amd64-2.6\Release\src\7zip\C\CpuArch.obj build\temp.win-amd64-2.6\Release \src\7zip\C\Aes.obj build\temp.win-amd64-2.6\Release\src\7zip\C\AesOpt.obj build\temp.win-amd64-2.6\Release\src\7zip\C\Sha256 .obj build\temp.win-amd64-2.6\Release\src\compat\LzmaCompatDecode.obj build\temp.win-amd64-2.6\Release\src/sdk/LzFindMt.obj build\temp.win-amd64-2.6\ Release\src/sdk/Threads.obj /OUT:build\lib.win-amd64-2.6\pylzma.pyd /IMPLIB:build\temp.win-amd64-2.6\Release\src/pylzma\pylzma.lib /MANIFESTFILE: build\temp.win-amd64-2.6\Release\src/pylzma\pylzma.pyd.manifestwin-amd64-2.6\Release\src\sdk\LzFind.obj build\temp.win-amd64-2.6\Release\src\sdk\LzmaDec.obj build\temp.win-amd64-2.6\Release\src\sdk\ LzmaEnc.obj build\temp.win-amd64-2.6\Release\src\7zip\C\CpuArch.obj build\temp.win-amd64-2.6\Release\src\7zip\C\Aes.obj build\temp.win -amd64-2.6\Release\src\7zip\C\AesOpt.obj build\temp.win-amd64-2.6\Release\src\7zip\C\Sha256.obj build\temp.win-amd64-2.6\Release\src \compat\LzmaCompatDecode.obj build\temp.win-amd64-2.6\Release\src/sdk/LzFindMt.obj build\temp.win-amd64-2.6\Release\src/sdk/Threads.obj /OUT:build\lib .win-amd64-2.6\pylzma.pyd /IMPLIB:build\temp.win-amd64-2.6\Release\src/pylzma\pylzma.lib /MANIFESTFILE:build\temp.win-amd64-2.6\Release\src/pylzma \pylzma.pyd.manifestwin-amd64-2.6\Release\src\sdk\LzFind.obj build\temp.win-amd64-2.6\Release\src\sdk\LzmaDec.obj build\temp.win-amd64-2.6\Release\src\sdk\ LzmaEnc.obj build\temp.win-amd64-2.6\Release\src\7zip\C\CpuArch.obj build\temp.win-amd64-2.6\Release\src\7zip\C\Aes.obj build\temp.win -amd64-2.6\Release\src\7zip\C\AesOpt.obj build\temp.win-amd64-2.6\Release\src\7zip\C\Sha256.obj build\temp.win-amd64-2.6\Release\src \compat\LzmaCompatDecode.obj build\temp.win-amd64-2.6\Release\src/sdk/LzFindMt.obj build\temp.win-amd64-2.6\Release\src/sdk/Threads.obj /OUT:build\lib .win-amd64-2.6\pylzma.pyd /IMPLIB:build\temp.win-amd64-2.6\Release\src/pylzma\pylzma.lib /MANIFESTFILE:build\temp.win-amd64-2.6\Release\src/pylzma \pylzma.pyd.manifest6\Release\src\sdk\LzmaEnc.obj build\temp.win-amd64-2.6\Release\src\7zip\C\CpuArch.obj build\temp.win-amd64-2.6\Release\src\7zip\C\ Aes.obj build\temp.win-amd64-2.6\Release\src\7zip\C\AesOpt.obj build\temp.win-amd64-2.6\Release\src\7zip\C\Sha256.obj build\temp.win -amd64-2.6\Release\src\compat\LzmaCompatDecode.obj build\temp.win-amd64-2.6\Release\src/sdk/LzFindMt.obj build\temp.win-amd64-2.6\Release\src/sdk/Threads .obj /OUT:build\lib.win-amd64-2.6\pylzma.pyd /IMPLIB:build\temp.win-amd64-2.6\Release\src/pylzma\pylzma.lib /MANIFESTFILE:build\temp.win-amd64 -2.6\发布\src/pylzma\pylzma.pyd.manifest6\Release\src\sdk\LzmaEnc.obj build\temp.win-amd64-2.6\Release\src\7zip\C\CpuArch.obj build\temp.win-amd64-2.6\Release\src\7zip\C\ Aes.obj build\temp.win-amd64-2.6\Release\src\7zip\C\AesOpt.obj build\temp.win-amd64-2.6\Release\src\7zip\C\Sha256.obj build\temp.win -amd64-2.6\Release\src\compat\LzmaCompatDecode.obj build\temp.win-amd64-2.6\Release\src/sdk/LzFindMt.obj build\temp.win-amd64-2.6\Release\src/sdk/Threads .obj /OUT:build\lib.win-amd64-2.6\pylzma.pyd /IMPLIB:build\temp.win-amd64-2.6\Release\src/pylzma\pylzma.lib /MANIFESTFILE:build\temp.win-amd64 -2.6\发布\src/pylzma\pylzma.pyd.manifestobj build\temp.win-amd64-2.6\Release\src\compat\LzmaCompatDecode.obj build\temp.win-amd64-2.6\Release\src/sdk/LzFindMt.obj build\temp.win-amd64-2.6\Release \src/sdk/Threads.obj /OUT:build\lib.win-amd64-2.6\pylzma.pyd /IMPLIB:build\temp.win-amd64-2.6\Release\src/pylzma\pylzma.lib /MANIFESTFILE:build \temp.win-amd64-2.6\Release\src/pylzma\pylzma.pyd.manifestobj build\temp.win-amd64-2.6\Release\src\compat\LzmaCompatDecode.obj build\temp.win-amd64-2.6\Release\src/sdk/LzFindMt.obj build\temp.win-amd64-2.6\Release \src/sdk/Threads.obj /OUT:build\lib.win-amd64-2.6\pylzma.pyd /IMPLIB:build\temp.win-amd64-2.6\Release\src/pylzma\pylzma.lib /MANIFESTFILE:build \temp.win-amd64-2.6\Release\src/pylzma\pylzma.pyd.manifest

pylzma.obj:警告 LNK4197:多次指定导出“initpylzma”;使用第一个规范创建库 build\temp.win-amd64-2.6\Release\src/pylzma\pylzma.lib 和对象 build\temp.win-amd64-2.6\Release\src/pylzma\pylzma.exp

pylzma.obj:错误 LNK2001:未解析的外部符号“char const * const doc_decompress”(?doc_decompress@@3QBDB)

pylzma.obj:错误 LNK2001:无法解析的外部符号“struct _object * __cdecl pylzma_decompress(struct _object *,struct _object *)”(?pylzma_decompress@@YAPEAU_object@@PEAU1@0@Z)

pylzma.obj:错误 LNK2001:未解析的外部符号“char const * const doc_compress”(?doc_compress@@3QBDB)

Aes.obj:错误 LNK2019:函数 AesGenTables 中引用的未解析外部符号“void __cdecl AesCtr_Code_Intel(unsigned int *,unsigned char *,unsigned __int64)”(?AesCtr_Code_Intel@@YAXPEAIPEAE_K@Z)

Aes.obj:错误 LNK2019:函数 AesGenTables 中引用的未解析外部符号“void __cdecl AesCbc_Decode_Intel(unsigned int *,unsigned char *,unsigned __int64)”(?AesCbc_Decode_Intel@@YAXPEAIPEAE_K@Z)

Aes.obj:错误 LNK2019:函数 AesGenTables 中引用的未解析外部符号“void __cdecl AesCbc_Encode_Intel(unsigned int *,unsigned char *,unsigned __int64)”(?AesCbc_Encode_Intel@@YAXPEAIPEAE_K@Z)

AesOpt.obj:错误 LNK2019:函数“void __cdecl AesCbc_Encode_Intel(union __m128i *,union __m128i *,unsigned __int64)”中引用的未解析外部符号 _mm_aesenclast_si128 (?AesCbc_Encode_Intel@@YAXPEAT__m128i@@0_K@Z)

AesOpt.obj:错误 LNK2019:函数“void __cdecl AesCbc_Encode_Intel(union __m128i *,union __m128i *,unsigned __int64)”中引用的未解析外部符号 _mm_aesenc_si128 (?AesCbc_Encode_Intel@@YAXPEAT__m128i@@0_K@Z)

AesOpt.obj:错误 LNK2019:函数“void __cdecl AesCbc_Decode_Intel(union __m128i *,union __m128i *,unsigned __int64)”中引用的未解析外部符号 _mm_aesdeclast_si128 (?AesCbc_Decode_Intel@@YAXPEAT__m128i@@0_K@Z)

AesOpt.obj:错误 LNK2019:未解析的外部符号 _mm_aesdec_si128 在函数“void __cdecl AesCbc_Decode_Intel(union __m128i *,union __m128i *,unsigned __int64)”(?AesCbc_Decode_Intel@@YAXPEAT__m128i@@0_K@Z) build\lib.win-amd6 中引用-2.6\pylzma.pyd:致命错误 LNK1120:10 个未解决的外部

错误:命令 '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64\link.exe"' 失败,退出状态为 1120

现在我很难弄清楚这些链接器问题是什么,即使使用 msdn doc(关于链接器错误)也是如此。可能是由于我缺乏 C/C++ 知识。

所以基本上我的问题是:

  • 有没有办法解决这些链接器问题?
  • 将这些文件从 .c 重命名为 .cpp 我错了吗?如果是,是否可以使用 msvc amd64 编译器将其编译为 .c?

编辑 没有太多答案,所以我想我会添加一些问题:

  • 当涉及到链接器错误时,您的方法是什么?

  • 有什么逻辑可以帮助我自己在网上找到答案(结合这个MSDN 链接器错误)?

  • 由于我已经看到很多人为 32 位系统成功编译它,它是否有可能在 64 位系统中编译良好,但由于架构类型而在链接时失败?

我正在寻找更多可能有用的提示,而不是完全有效的答案。

非常感谢你的帮助 (:

0 投票
4 回答
2349 浏览

java - 如何在 JAVA 中使用 LZMA 将多个 PDF 文件压缩成一个 7z

我正在尝试使用 LZMA 将许多 PDF 文件(代表包含相同图像和标题的相同报告。只有一些数字与 PDF 不同)压缩到单个“7z”(或任何其他扩展名)文件中。

我正在使用 java lzma SDK(它只使用一个文件并只创建一个结果文件)。

请注意,我尝试使用 7-zip 压缩我的 PDF(60 个文件),并且(所有文件的)大小从 133Mo 减少到 1,7Mo。我想在 Java 上实现这个。

非常感谢您的帮助。