游程編碼

游程編碼

簡單

說明

實作執行長度編碼與解碼。

執行長度編碼(RLE)是一種簡單的資料壓縮方式,它會把連續的資料元素(也就是 run)替換成單一的資料值和出現次數。

例如,我們可以把原本的 53 個字元只用 13 個字元來表示。

"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB"  ->  "12WB12W3B24WB"

RLE 能讓原始資料從壓縮後的資料完美重建,這使它成為一種無損資料壓縮。

"AABCCCDEEEE"  ->  "2AB3CD4E"  ->  "AABCCCDEEEE"

為了簡化起見,你可以假設未編碼的字串只會包含 A 到 Z 的字母(大小寫皆可)以及空白字元。 這樣一來,要編碼的資料就永遠不會包含數字,而要解碼的資料裡出現的數字,則一律代表後續字元的出現次數。


出處

Wikipedia連結會在新視窗或分頁中開啟
透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Vim script Exercism

準備好開始 游程編碼 了嗎?

註冊 Exercism,透過 89 個練習 和真人引導來學習並精通 Vim script,全部免費。