位元組對編碼

位元組對編碼 是一種簡單的數據壓縮形式,這種方法用數據中不存的一個位元組表示最常出現的連續位元組數據。這樣的替換需要重建全部原始數據。

位元組對編碼實例

假設我們要編碼如下數據

aaabdaaabac

位元組對「aa」出現次數最多,所以我們用數據中沒有出現的位元組「Z」替換「aa」得到替換表

Z <- aa

數據轉變為

ZabdZabac

在這個數據中,位元組對「Za」出現的次數最多,我們用另外一個位元組「Y」來替換它(這種情況下由於所有的「Z」都將被替換,所以也可以用「Z」來替換「Za」),得到替換表以及數據

Z <- aa
Y <- Za
YbdYbac

我們再次替換最常出現的位元組對得到:

Z <- aa
Y <- Za
X <- Yb
XdXac

由於不再有重複出現的位元組對,所以這個數據不能再被進一步壓縮。

解壓的時候,就是按照相反的順序執行替換過程。