RAR 是压缩形式的数据容器,比开源的 ZIP 提供了更多高级功能。在日常使用时,我注意到自己有一些疑问:
- 固实压缩文件是什么?
rar
文件的恢复功能怎么用,我能恢复损坏的压缩文件么?- 我该选择
RAR
还是RAR5.0
? - 为什么要使用自解压文件,不是被视为有病毒嫌疑么?
主要涉及下图中的选项:
阅读 WinRAR 的帮助文件后弄明白了,记录如下:
1. 固实压缩文件
固实压缩文件把压缩对象当成一个连续数据流来压缩,和未勾选时相比:
- 压缩率更(尤其是大量小文件)
- 解压部分文件时更慢(额外分析),解压全部文件时无差异
- 対压缩文件做变更时更新更慢
- 固实压缩文件中的任何文件损坏,可能影响其他文件
固实压缩方式适合大量小文件、较少变更、压缩比较压缩速度更重要的场景,可以搭配恢复记录避免文件损坏。
2. 恢复卷
这个功能搭配分卷压缩使用,在压缩时创建多个 rev恢复卷,可以简化理解为:
压缩卷1 压缩卷2 压缩卷3 恢复卷1
1 + 2 + 3 = 6
当任一压缩分卷丢失或数据损坏时,都可以通过恢复卷1推出被损坏的部分并恢复文件。
如果损坏了两个压缩分卷呢?只有一个恢复卷时不可重建。但如果在压缩时建立了两个恢复卷,可以恢复,简化理解:
压缩卷1 压缩卷2 压缩卷3 压缩卷4 压缩卷5 恢复卷1 恢复卷2
1 + 2 + 3 + 4 + 5 = 15
× × × = 24
当任意两个压缩分卷 x 和 y 损坏时,我们可以通过两个二元二次方程解出 x 和 y,重建数据。
只要丢失或损坏的压缩分卷数量不超过恢复卷数量时,就能够重建数据。例如,有 200 个压缩分卷和对应的 5 个恢复卷,丢失或损坏的压缩分卷数量 ≤ 5个,此时能重建数据。
压缩对象的体积越大,压缩分卷越多,效果越好,额外的性能耗费越少。
3. 添加恢复记录
原理和恢复卷相似(简化理解,≠实际原理),可以理解为将压缩对象视为多个块,并额外添加一个用于恢复的块(恢复记录)。
可以设置恢复记录百分比,建议比例为 3%-10%。较大的恢复记录允许恢复更严重的损坏,但是会增加压缩文件的大小和处理时间。
RAR 恢复区块的大小和数据恢复能力最大为 256 MB,RAR 5.0 可以和压缩文件本身一样大。
压缩对象的体积越大,效果越好,额外的体积和性能耗费越小。
4. 锁定压缩文件
锁定的压缩文件不能更改。
5. 自解压文件
自解压文件是结合了可执行文件模块的压缩文件,可以在未安装解压缩程序的系统中解压出文件。
自解压文件适合在不清楚接受文件的人是否有解压缩程序时使用。
可以在压缩包的WinRAR 主界面 --> 自解压格式| 高级自解压选项
中添加新的自解压模块,在高级自解压选项中可以自定义图标、路径、脚本、覆盖模式等内容。
6. RAR/RAR5.0
RAR5.0 是更新的压缩格式,有 AES-256 加密、更有效的恢复记录、更大的字典大小等更优秀的功能,但接受方不一定兼容。
选择 RAR5.0 后,压缩方式有 存储/最快/快速/常规/较好/最好,压缩性能依次提高,压缩速度依次下降,其中存储不压缩,仅把文件添加到压缩文件中,最好压缩比例最高。
7. 压缩字典
压缩字典是被压缩算法使用的内存区域,用来查找和压缩重复数据模式。大字典会提高対大文件的压缩率(特别是固实压缩模式),但也会导致较慢的压缩速度和更高的内存需求。
RAR 建议使用 4MB 的字典,RAR5.0 建议使用 32MB 的字典。
行动
有了上述了解后,我在压缩文件时的新选择:
- 小文件使用
.zip
格式 - 上传到网络存储的备份文件,压缩为
RAR5
(不需要考虑兼容性)+ 默认字典大小 + 添加恢复记录(3%) + 锁定压缩文件 - 设置密码,加密文件名
- 在配置中将以上 RAR5 选项保存为新配置并添加到关联菜单