是否可以将纠错码(BCH、RS 等)添加到单个文件中?

是否可以将纠错码(BCH、RS 等)添加到单个文件中?

据我所知,WinRAR压缩文件可能包含ECC(纠错码),所以如果压缩文件有轻微损坏,那么它可以自行修复。

例如,我可以先编码archives.tararchives.tar.ecc,然后将其上传到我的服务器。如果客户端下载后文件有轻微损坏,则可以自动修复,无需再次解码下载文件archives.tar.ecc。我认为如果网络连接不稳定,这将是一个好主意。

我想知道是否有任何在Linux上运行的(开源)软件可以满足我的需求。

有什么建议么?

答案1

我遇到了同样的问题,发现其他答案中提供的解决方案是不可接受的,因为 par2 程序/标准涉及创建单独的文件来进行恢复和验证。我和最初的提问者一样,想要一个带有纠错代码的单个文件。

我在包管理器中找到了程序 rsbep,然后在这里找到了必要的代码: https://www.thanassis.space/rsbep.html

这允许人们创建一个带有 Reed-Solomon 纠错码的文件,然后从可能已损坏的 ECC 版本中检索原始文件。

答案2

您对 PAR2 感兴趣,它使用 Reed-Solomon 纠错。帕奇韦是 ECC 文件格式规范,对于 Linux,您需要派帕或者帕2tbb,在 Windows 上您使用名为的 GUI快速帕

答案3

如果您想让 ecc 文件与存档分开,您可以使用pyFileFixity,一个开源 Python 项目旨在提供类似下一代 PAR 的保护系统,防止位损坏。

如果您希望 ecc 保护直接包含在存档中,您可以使用开源雷达,一种下一代 TAR,它允许生成非固定(即允许部分提取损坏的存档)和 ecc(使用 PAR2)和目录隔离(即保存目录树和文件系统元数据的备份) )直接在 .dar 档案中。

答案4

您可以使用DVD灾难它也适用于图像以外的其他文件类型。它能够为输入文件创建 ECC 文件或使用它来修复文件。

相关内容