रन-लेंथ एन्कोडिंग और डिकोडिंग लागू कीजिए।
रन-लेंथ एन्कोडिंग (RLE) डेटा कम्प्रेशन का एक आसान तरीका है। इसमें रन (लगातार आने वाले डेटा एलिमेंट) की जगह सिर्फ एक डेटा वैल्यू और उसकी गिनती लिख दी जाती है।
उदाहरण के लिए, हम मूल 53 अक्षरों को सिर्फ 13 अक्षरों में दिखा सकते हैं।
"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB" -> "12WB12W3B24WB"
RLE की मदद से कम्प्रेस किए गए डेटा से मूल डेटा बिल्कुल वैसा ही दोबारा बनाया जा सकता है। इसीलिए इसे लॉसलेस डेटा कम्प्रेशन कहते हैं।
"AABCCCDEEEE" -> "2AB3CD4E" -> "AABCCCDEEEE"
आसानी के लिए आप यह मान सकते हैं कि बिना एन्कोड की गई स्ट्रिंग में सिर्फ A से Z तक के अक्षर (छोटे या बड़े) और व्हाइटस्पेस होंगे। इस तरह एन्कोड किए जाने वाले डेटा में कभी कोई संख्या नहीं होगी, और डिकोड किए जाने वाले डेटा में संख्याएँ हमेशा उसके बाद आने वाले अक्षर की गिनती बताती हैं।