看了个文章,说7z压缩文件损坏后无法恢复。建议使用zip/rar格式

简介: 看了个文章,说7z压缩文件损坏后无法恢复。建议使用zip/rar格式

 吾一直使用7zip。后来看文章说,7zip压缩算法,如果文件出现一点错误,很难恢复。这么一说,吾决定以后统一使用zip格式。


 在LINUX上,默认的就是zip/tar,都是zip格式。


 压缩软件使用winZip?winRAR?待吾看看。



https://www.zhihu.com/question/23299326/answer/820275787


 关于安全的部分如下:


 The [LZMA2 format] contains an unrestricted mix of LZMA packets and uncompressed data packets. Each packet starts with a header that is not protected by any check sequence in spite of containing the type and size of the following data. Therefore, every bit flip in a LZMA2 header causes either a framing error or a desynchronization of the decoder. In any case it is usually not possible to decode the remaining data in the block or even to know what failed. Compare this with [Deflate] which at least does protect the length field of its non-compressed blocks. (Deflate's compressed blocks do not have a length field).


 我简单解释一下,LZMA2是7z的默认压缩算法,用这种算法压缩文件会产生这么一种情况:


 假如一个普通文件内容是「ABCDEFG」,然後它第二个字节损坏了,我们看到的就是「A?CDEFG」。但如果这是一个使用了LZMA2算法的7z压缩包,我们看到的就是「A??????」。


 Therefore, every bit flip in a LZMA2 header causes either a framing error or a desynchronization of the decoder. In any case it is usually not possible to decode the remaining data in the block or even to know what failed.


 翻译:因此,在LZMA2报头中的每个位翻转都会引起解码器的帧错误或者同步失调。在所有情况下,通常都不可能解码块中的剩余数据,甚至都不知道哪里错了。


 最後,这位大佬给出的建议是:不要用LZMA2算法储存重要文件。


 也就是说,如果你坚持使用7z格式,那么你就祈祷吧,祈祷压缩包裡一个字节错误都不要有。因为只要出现一个字节错误,整个压缩包就废了。


目录
相关文章
|
Linux 测试技术 CDN
Linux系统-【备份压缩】zip命令 – 压缩文件
zip命令的功能是用于压缩文件,解压命令为unzip。通过zip命令可以将文件打包成.zip格式的压缩包,里面会附含文件的名称、路径、创建时间、上次修改时间等等信息,与tar命令相似。
176 0
Linux文件的压缩和解压(各种格式文件类型介绍)
Linux文件的压缩和解压(各种格式文件类型介绍)
|
Java 程序员
批量压缩16万个文件夹为压缩包(.zip格式)
🍅程序员小王的博客:程序员小王的博客 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习路线:java自学的学习路线
290 0
批量压缩16万个文件夹为压缩包(.zip格式)
|
算法
ZIP和RAR文件的不同
生活中我们经常需要使用电脑与朋友之间的文件传送,但往往会受到文件大小的限制而无法发出去,此时需要将文件压缩后再发送,那么有小伙伴会问rar和zip又有什么区别?
564 0
ZIP和RAR文件的不同
最新!压缩为rar格式方法,目前只能用:WinRAR压缩工具-rar压缩格式的版权所有者。
最新!压缩为rar格式方法,目前只能用:WinRAR压缩工具-rar压缩格式的版权所有者。
252 0
最新!压缩为rar格式方法,目前只能用:WinRAR压缩工具-rar压缩格式的版权所有者。
|
程序员 C#
C# 压缩文件
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来。    十年河东十年河西,莫欺少年穷。     学无止境,精益求精    上一节讲述了C# WebApi传参之Post请求-AJAX    本节探讨C#压缩文件的方法,直接上代码    如下 pub...
1231 0

热门文章

最新文章