我刚刚发现了一个名为 par2 的漂亮工具。它可以为我想要的任何文件生成纠错块,并使用这些块来恢复损坏的数据。我开始怀疑 par2 生成的恢复块文件本身是否有任何冗余?即 par2 在尝试纠正目标数据文件上的位错误之前是否会识别其自身恢复文件的损坏?这些par文件的损坏如何影响数据的恢复过程,这种方式是否存在冗余?
我刚刚发现了一个名为 par2 的漂亮工具。它可以为我想要的任何文件生成纠错块,并使用这些块来恢复损坏的数据。我开始怀疑 par2 生成的恢复块文件本身是否有任何冗余?即 par2 在尝试纠正目标数据文件上的位错误之前是否会识别其自身恢复文件的损坏?这些par文件的损坏如何影响数据的恢复过程,这种方式是否存在冗余?
每个 PAR2 文件包含 0 个或多个恢复数据块。每个块都有一个校验和。只使用好块。
(一个集合的第一个 PAR2 文件通常没有任何块。它只包含有关整个文件集的元数据。)
此外,PAR2 文件还包含实际数据文件中块的校验和。这就是 PAR 程序确定数据文件中哪些块需要修复的方式。
您可以在 par2 文件规范中阅读该内容。虽然计算 PAR 数据的实际算法相当复杂,但文件格式本身却相当简单。
(几年前我为 PAR 文件编写了自己的解析器,只是为了好玩。)
请注意:尝试MultiPar。它是目前最快的 PAR2 软件(也可以使用 GPU 加速),并且仍然由发明 PAR 的 Yutaka Sawada 积极开发。