ट्रैक
/
Emacs Lisp
Emacs Lisp
/
अभ्यास
/
रन-लेंथ एन्कोडिंग
रन-लेंथ एन्कोडिंग

रन-लेंथ एन्कोडिंग

मध्यम

निर्देश

रन-लेंथ एन्कोडिंग और डिकोडिंग लागू कीजिए।

रन-लेंथ एन्कोडिंग (RLE) डेटा कम्प्रेशन का एक आसान तरीका है। इसमें रन (लगातार आने वाले डेटा एलिमेंट) की जगह सिर्फ एक डेटा वैल्यू और उसकी गिनती लिख दी जाती है।

उदाहरण के लिए, हम मूल 53 अक्षरों को सिर्फ 13 अक्षरों में दिखा सकते हैं।

"WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB"  ->  "12WB12W3B24WB"

RLE की मदद से कम्प्रेस किए गए डेटा से मूल डेटा बिल्कुल वैसा ही दोबारा बनाया जा सकता है। इसीलिए इसे लॉसलेस डेटा कम्प्रेशन कहते हैं।

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

आसानी के लिए आप यह मान सकते हैं कि बिना एन्कोड की गई स्ट्रिंग में सिर्फ A से Z तक के अक्षर (छोटे या बड़े) और व्हाइटस्पेस होंगे। इस तरह एन्कोड किए जाने वाले डेटा में कभी कोई संख्या नहीं होगी, और डिकोड किए जाने वाले डेटा में संख्याएँ हमेशा उसके बाद आने वाले अक्षर की गिनती बताती हैं।


स्रोत

Wikipediaयह लिंक एक नई विंडो या टैब में खुलता है
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Emacs Lisp Exercism

रन-लेंथ एन्कोडिंग शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Emacs Lisp को 96 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।