// कॉमा कोड – स्वतः सीमाएँ तय करने वाले बाइनरी कोड
लगातार कोडों के बीच किसी सेपरेटर की आवश्यकता नहीं।
यूनरी लंबाई प्रीफिक्स जिसके बाद डेटा बिट्स आते हैं।
टैबू वैरिएंट ज़रूरत पड़ने पर कुछ बिट पैटर्न से बचता है।
कॉमा कोड पूर्णांक n को इस प्रकार एन्कोड करता है: 1) बिट लंबाई L-1 को यूनरी में लिखना (L-1 एक के बाद एक शून्य), 2) अग्रणी 1 को हटाकर शेष बाइनरी निरूपण जोड़ना। टैबू वैरिएंट एन्कोडिंग को इस तरह बदलता है कि 11 जैसे पैटर्न से बचा जा सके, जो कुछ संचार चैनलों में उपयोगी होता है।
Basic Comma Code: 0 → 0 (special case) 1 → 01 (0 ones + 0 + empty) 2 → 100 (1 one + 0 + '0') 3 → 101 (1 one + 0 + '1') 4 → 11000 (2 ones + 0 + '00') 5 → 11001 (2 ones + 0 + '01') Concatenated: 1,2,3 → 01 100 101 → 01100101 Self-delimiting - can decode without separators Taboo variant avoids '11' pattern: Uses different encoding to prevent consecutive 1s
कॉमा कोड एक स्वयं-सीमाबद्ध बाइनरी कोड है जो पूर्णांकों को यूनरी लंबाई प्रीफिक्स और डेटा बिट्स के साथ एन्कोड करता है। इसे "कॉमा" इसलिए कहा जाता है क्योंकि कोडों को सूची की वस्तुओं की तरह बिना स्पष्ट सेपरेटर के जोड़ा जा सकता है।
यूनरी लंबाई प्रीफिक्स डिकोडर को ठीक-ठीक बताता है कि आगे कितने डेटा बिट्स आने वाले हैं। जब आप k एक के बाद एक देखते हैं और उसके बाद शून्य होता है, तो आपको पता होता है कि ठीक k और बिट्स पढ़ने हैं। इससे कई कोड बिना अलग सेपरेटर के जोड़े जा सकते हैं।
टैबू कॉमा कोड एन्कोडिंग को इस तरह बदलता है कि कुछ बिट पैटर्न (जैसे 11) से बचा जा सके। यह उन चैनलों में उपयोगी है जहाँ कुछ पैटर्न समस्या पैदा करते हैं या विशेष अर्थ रखते हैं, जैसे सिंक्रोनाइज़ेशन मार्कर।
कॉमा कोड डेटा संपीड़न, नेटवर्क प्रोटोकॉल और स्टोरेज सिस्टम में उपयोग होता है जहाँ स्वयं-सीमाबद्ध गुण महत्वपूर्ण हैं। यह विशेष रूप से तब उपयोगी है जब आपको कई परिवर्ती-लंबाई के पूर्णांकों को बिना अलग लंबाई फ़ील्ड के संग्रहीत करना हो।