close
什麼是CRC,什麼是CRC錯誤

1、什麼是CRC:
  迴圈冗余碼校驗英文名稱為Cyclical Redundancy Check,簡稱CRC。它是利用除法及餘數的原理來作錯誤偵測(Error Detecting)的。實際應用時,發送裝置計算出CRC值並隨資料一同發送給接收裝置,接收裝置對收到的資料重新計算CRC並與收到的CRC相比較, 若兩個CRC值不同,則說明資料通訊出現錯誤。
根據應用環境與習慣的不同,CRC又可分為以下幾種標準:
  ①CRC-12碼;
  ②CRC-16碼;
  ③CRC-CCITT碼;
  ④CRC-32碼。
  CRC-12碼通常用來傳送6-bit字串。CRC-16及CRC-CCITT碼則用是來傳送8-bit字元,其中CRC-16為美國採用,而CRC-CCITT為歐洲國家所採用。CRC-32碼大都被採用在一種稱為Point-to-Point的同步傳輸中。
  下面以最常用的CRC-16為例來說明其生成過程。
   CRC-16碼由兩個位元組構成,在開始時CRC寄存器的每一位都預置為1,然後把CRC寄存器與8-bit的資料進行異或,之後對CRC寄存器從高到 低進行移位,在最高位(MSB)的位置補零,而最低位(LSB,移位後已經被移出CRC寄存器)如果為1,則把寄存器與預定義的多項式碼進行異或,否則如 果LSB為零,則無需進行異或。重複上述的由高至低的移位8次,第一個8-bit資料處理完畢,用此時CRC寄存器的值與下一個8-bit資料異或並進行 如前一個資料似的8次移位元。所有的字元處理完成後CRC寄存器內的值即為最終的CRC值。
  下面為CRC的計算過程:
  1.設置CRC寄存器,並給其賦值FFFF(hex)。
  2.將資料的第一個8-bit字元與16位元CRC寄存器的低8位進行異或,並把結果存入CRC寄存器。
  3.CRC寄存器向右移一位,MSB補零,移出並檢查LSB。
  4.如果LSB為0,重複第三步;若LSB為1,CRC寄存器與多項式碼相異或。
  5.重複第3與第4步直到8次移位元全部完成。此時一個8-bit資料處理完畢。
  6.重複第2至第5步直到所有資料全部處理完成。
  7.最終CRC寄存器的內容即為CRC值。

2、什麼是CRC錯誤:
   CRC是ZIP檔案名中的校驗和,主要用於在解壓縮時進行校驗,但是如果在解壓縮時發現一個檔的校驗和出錯,將會無法解壓縮。此時,WinZip會彈出 視窗告訴用戶“CRC錯誤!”,這時請不要點擊“OK”按鈕,而是進入相應檔夾下,您會發現那個檔已在那裏,將它複製一下,再粘貼到另一個檔夾後,再點擊 那個“OK”按鈕即可。

補充
如果你是在使用winzip是碰到的問題,請試試winrar,一般都可以解壓縮,具體情況多發生在打開大壓縮包時,還有就是下載檔損壞。

源自:知識+


南非荷兰语 阿尔巴尼亚语 阿拉伯语 白俄罗斯语 保加利亚语 加泰罗尼亚语 汉语 克罗地亚语 捷克语 丹麦语 侦测语言 荷兰语 英语 爱沙尼亚语 菲律宾语 芬兰语 法语 加里西亚语 德语 希腊语 海地克里奥尔语 alpha 希伯来语 北印度语 匈牙利语 冰岛语 印度尼西亚语 爱尔兰语 意大利语 日语 朝鲜语 拉脱维亚语 立陶宛语 马其顿语 马来语 马耳他语 挪威语 波斯语 波兰语 葡萄牙语 罗马尼亚语 俄语 塞尔维亚语 斯洛伐克语 斯洛文尼亚语 西班牙语 斯瓦希里语 瑞典语 泰国语 土耳其语 乌克兰语 越南语 威尔士语 意第绪语 南非荷兰语 阿尔巴尼亚语 阿拉伯语 白俄罗斯语 保加利亚语 加泰罗尼亚语 汉语 克罗地亚语 捷克语 丹麦语 荷兰语 英语 爱沙尼亚语 菲律宾语 芬兰语 法语 加里西亚语 德语 希腊语 海地克里奥尔语 alpha 希伯来语 北印度语 匈牙利语 冰岛语 印度尼西亚语 爱尔兰语 意大利语 日语 朝鲜语 拉脱维亚语 立陶宛语 马其顿语 马来语 马耳他语 挪威语 波斯语 波兰语 葡萄牙语 罗马尼亚语 俄语 塞尔维亚语 斯洛伐克语 斯洛文尼亚语 西班牙语 斯瓦希里语 瑞典语 泰国语 土耳其语 乌克兰语 越南语 威尔士语 意第绪语
侦测语言 » 日语

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Estar007 的頭像
    Estar007

    Never give up!永不放棄

    Estar007 發表在 痞客邦 留言(0) 人氣()