5个版本 (3个破坏性版本)
0.4.1 | 2024年5月20日 |
---|---|
0.4.0 | 2024年5月20日 |
0.3.0 | 2024年5月18日 |
0.2.0 | 2024年5月17日 |
0.1.0 | 2024年5月16日 |
152 在 压缩 中排名 #152
每月下载量 158
150KB
2K SLoC
unarc-rs
这是一个支持读取ARC、ARJ、ZOO、SQ/SQ2/QQQ、SQZ、.Z(unix压缩)和HYP文件的rust库。这个库是为我的BBS项目作为文件分析的一部分编写的。
这个库包含过时的解压缩算法。我没有麻烦为它们编写压缩代码。我不需要它们在我的项目中。我也不认为它们值得实现——至少对我来说是这样。我会接受PRs。
(如果我在这里忽略了问题/PRs,请联系我 https://github.com/mkrueger/icy_board 或通过电子邮件)
范围之外
- LHA/LZH - 有一个用于这些格式的优秀https://crates.io/crates/delharc库。unarc-rs使用它进行某些压缩方法。
- ZIP - 使用 https://crates.io/crates/zip - 我已将旧压缩格式添加到这个库中
- 7Z - 有一个https://crates.io/crates/sevenz-rust看起来做得很好
- TAR - https://crates.io/crates/tar
- RAR - 由于有大量的其他库,所以我还没有研究。但是这是我icy_board项目需要的格式,还没有研究特定的库。
待办事项
作为我的BBS项目的一部分,目前这已经完成——比计划中扩展得更大。然而,总是有事情要做
- 完成Squeeze It & Hyper压缩方法
- UC2 - UtraCompressor II的源代码已发布并可在以下地址获得: http://www.nicodevries.com/professional/ 不确定LGPL许可。
- 添加更多不为人知的格式,如StuffIT,也许Amiga ADF
存档格式
arc
支持的压缩方法
- 未打包
- 已打包
- 挤压
- 压缩
- 压扁
不支持:压缩 & 纯化
ARC在"专利事件"之前是BBS场景中的No.1,ZIP后来超越了它。
目前对我来说足够了——我试图找到一个可以工作的LZW实现,但它们需要一些调整才能与ARC一起工作。不幸的是,我找到的ARC实现是GPL/LGPL,而我需要一个MIT/Apache库,所以我不能直接移植这些。
ARJ
支持的压缩方法
- STORE
- 方法1-3
- 方法4(最快)
备注:这应该涵盖了所有压缩方法
这个库是为我的BBS项目作为文件分析的一部分编写的。在90年代,ARJ在BBS场景中很受欢迎,在RAR出现之前。
所有高级ARJ功能均不支持,例如多归档、密码保护等。范围仅限于我所需要的部分。欢迎添加您需要的功能。(如果在这里遗漏了问题/PR,请通过https://github.com/mkrueger/icy_board或邮件联系我)
动物园
支持压缩方法0、1和2 - 应该覆盖所有方法。
SQ/SQ2
我错误地认为SQZ等于SQ - 在实现arc的squeeze后,我意识到了我的错误,因此即使只有一个文件,我也加入了旧的SQ格式。我还支持SQ2格式。这两种格式都没有真正的扩展名,第二位是Q或.SQ/.SQ2/.QQQ。这两种格式都应得到全面支持 - 只有一种压缩方法。
仅存储
以下是压缩不支持的压缩格式(只有'存储'方法)。但可以打开和分析归档。
SQZ - Squeeze It
仅支持方法0(存储)。关于这个很难找到信息,但我猜它们使用Squeeze压缩,就像ARC在方法1中做的那样。
HYP - Hyper
仅支持方法0(存储)。关于这个很难找到信息 - 有谁知道Hyper使用哪种压缩方法吗?
Z - Compress
仅包含1个文件。这是一个简单的LZW压缩。需要作为邮件交换标准的一部分。
许可证
MIT或Apache-2.0,但我不太在意:)
依赖关系
约2MB
约33K SLoC