我压缩文件包解压提示“数据错误 循环冗余检查”,

问题:什么是循环冗余检查?循环冗余检查是什么意思?

循环冗余检查CRC(Cyclical Redundancy Check),就是在每个数据块(称之为帧)中加入一个FCS(Frame Check Sequence,帧检查序列)。FCS包含了帧的详细信息,专门用于发送/接收装置比较帧的正确与否。如果数据有误,则再次发送。

循环冗余检查是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。若CRC校验不通过,系统重复向硬盘复制数据,陷入死循环,导致复制过程无法完成。

解决办法:

注意到在上述过程中实际已有一部分数据复制到硬盘,只是碰到某些数据CRC校验不通过时,Windows的复制命令无法跳过这些数据继续执行。而当操作无法完成后,系统会把已经复制到硬盘上的数据删除,这样导致复制完全失败。如果在复制时能跳过错误数据,这个问题就能得到解决。我们从网上下载文件时,较常用的下载工具是FlashGet。FlashGet可以把一个文件分成几部分同时下载,也可以同时进行多个下载进程。

操作步骤:

首先,我们通过IIS(Internet信息服务)建立一个本地站点。如果还没有安装这个组件,需要在“控制面板→添加/删除程序→添加/删除Windows组件”中,点击组件,选择IIS,点“下一步”,插入安装光盘即可完成安装。

接着,创建一个虚拟目录,地址对应于你的影音文件所在目录。以Windows 2000的IIS5.0为例,创建虚拟目录的步骤如下:(实例见附件)

1. 在“开始菜单→程序→管理工具”中启动IIS;

2. 在“默认Web站点”上点右键,选择“新建→虚拟目录”;

3. 输入目录名称,假定名称为YYFiles;

4. 输入目录路径(路径应为你的影音文件所在目录),其余无须更改,一直“下一步”就可以完成了。

然后,启动FlashGet,新建一下载任务,在网址栏中输入“http://localhost/videa/借刀杀人.avi”。

这样就可以开始多线程下载了,当其中一个进程进行到一定进度时碰上错误数据,速度逐渐降为零,但其他几部分仍照常进行。而当其余几部分完成后,又会把剩余的部分分成几部分来下载。这样除了错误数据,其余均被下载到硬盘。

最后,到下载目录把文件“借刀杀人.avi.jc!”的名称改为“借刀杀人.avi”,复制过程就完成了。这样做虽然有些复杂,但是却保住了我的影音文件,不需要重新下载。建议对于影音文件可以采用上述的处理方式,对于一些重要文件,或者软件不要采用这种 方式。