c筆記 行程長度編碼

2021-09-30 11:22:55 字數 563 閱讀 7895

之前寫過哈弗曼編碼的壓縮檔案的程式,今天在書上看到乙個更簡單用途單一的壓縮演算法:行程長度編碼

如果檔案包含許多相同位元組的長序列,效果很明顯,實現**如下

#include#includeint main(int argc,char** ar**)

char newname[256];

strcpy(newname,ar**[2]);

strcpy(newname+strlen(ar**[2]),".ra");

char ch,temp;

int num=0;

fread(&ch,1,1,src);

while(fread(&temp,1,1,src))

} fwrite(&num,sizeof(int),1,out);

fwrite(&ch,sizeof(char),1,out);

if(ftell(src)>=ftell(out))

else

} else

printf("eg:comp file1 file2\n");

}

行程長度編碼科普

在某些情況下,乙個字元可能在乙個長序列中反覆出現。在英語文字中,這種重複不常見,但在大的資料流中 如dna序列 中,這種情況則經常出現。一種名為行程長度編碼的文字壓縮方法利用了這種情況。行程長度編碼有時又稱為迭代編碼。在行程長度編碼中,重複字元的序列將被替換為標誌字元,後面加重複字元和說明字元重複次...

RLE行程長度編碼概述

rle行程長度編碼概述 目前,壓縮技術已經廣泛應用於各種軟體 聲音 影像格式等領域。總的來說,有兩種截然不同的影象格式壓縮型別 有失真壓縮和無失真壓縮 1 有失真壓縮利用視覺識別的原理可以大大地壓縮檔案的資料,但是會影響影象質量。無失真壓縮的基本原理是相同的顏色資訊只需儲存一次,可以刪除一些重複資料...

c 行程長度編碼 題解與做題感想

時間限制 1 sec 記憶體限制 128 mb 在資料壓縮中,乙個常用的途徑是行程長度壓縮。對於乙個待壓縮的字串而言,我們可以依次記錄每個字元及重複的次數。這種壓縮,對於相鄰資料重複較多的情況比較有效。例如,如果待壓縮串為 aaabbbbcbb 則壓縮的結果是 a,3 b,4 c,1 b,2 當然,...