转载自:http://blog.sina.com.cn/s/blog_610787990102xcnv.html
百度网盘压缩下载文件的CRC校验错误的解决方法
从百度网盘用打包压缩方式下载的文件在解压时会碰到CRC校验错误,这里有两种情况:
a.如果文件尺寸小于4G,可用国产的好压解出,解出的文件是正确的b.如果文件大小大于4G,解出的文件大小是错误的
文件大小问题,从初步分析来看,百度网盘提供的压缩打包下载是采用zip 存储方法打包压缩的,而zip格式不支持原/压缩文件大小超过超过0xFFFFFFFF,即4294967295字节(即4G)。
比如,从百度网盘下载了一个电影,实际大小为18,745,396,529字节(0x 04 5D 50 0D 31),用7z解压会出现crc校验错误,用好压解压出的文件仅为1,565,527,345字节。打开该压缩文件,可以看到其显示的文件大小是错误的,显示为1,565,527,345字节(0x 5D 50 0D 31)。
原因如下:zip格式仅用4字节来存储原/压缩文件尺寸,把实际大小的最前一位0x04给省略了,所以文件尺寸就设定错误了。
a. 显示的压缩文件大小:
b. 压缩文件中对应压缩和没压缩的文件尺寸字节
解决方法如下:
a.如果文件大小大于4G,作为一个单独的压缩文件(单独放在一个文件夹内,下载这个文件夹)下载,因为百度采用的store方式打包压缩