Binary Ordered Compression for Unicode
बाइनरी ऑर्डर्ड कम्प्रेशन फॉर यूनिकोड (बी. ओ. सी. यू.) एक एम. आई. एम. ई. संगत यूनिकोड कम्प्रेशन योजना है। बी. ओ. सी. यू.-1 यूनिकोड (एस. सी. एस. यू.) के लिए मानक संपीड़न योजना की सघनता के साथ यू. टी. एफ.-8 की व्यापक प्रयोज्यता को जोड़ता है। यह यूनिकोड एन्कोडिंग छोटे तारों को संपीड़ित करने के लिए उपयोगी होने के लिए डिज़ाइन की गई है, और कोड बिंदु क्रम को बनाए रखती है। बी. ओ. सी. यू.-1 को यूनिकोड तकनीकी नोट में निर्दिष्ट किया गया है। तुलना के लिए एस. सी. एस. यू. को मानक यूनिकोड संपीड़न योजना के रूप में अपनाया गया था जिसमें भाषा-विशिष्ट कोड पृष्ठों के समान एक बाइट/कोड बिंदु अनुपात था। एस. सी. एस. यू. को व्यापक रूप से अपनाया नहीं गया है, क्योंकि यह एम. आई. एम. ई. "पाठ" मीडिया प्रकारों के लिए उपयुक्त नहीं है। उदाहरण के लिए, एससीएसयू का उपयोग सीधे ईमेल और इसी तरह के प्रोटोकॉल में नहीं किया जा सकता है। एस. सी. एस. यू. को अच्छे प्रदर्शन के लिए एक जटिल एनकोडर डिजाइन की आवश्यकता होती है। आम तौर पर, ज़िप, bzip2, और अन्य उद्योग मानक एल्गोरिदम बड़ी मात्रा में यूनिकोड पाठ को अधिक कुशलता से कॉम्पैक्ट करते हैं। एस. सी. एस. यू. और बी. ओ. सी. यू.-1 दोनों आई. ए. एन. ए. पंजीकृत अक्षर हैं। विवरण इस खंड में सभी संख्याएँ हेक्साडेसिमल हैं, और सभी श्रेणियाँ समावेशी हैं। यू + 0000 से यू + 0020 तक के कोड बिंदुओं को बी. ओ. सी. यू.-1 में संबंधित बाईट मान के रूप में कूटबद्ध किया जाता है। अन्य सभी कोड बिंदु (अर्थात, यू + डी7एफएफ के माध्यम से यू + 0021 और यू + 10एफएफएफ के माध्यम से यू + ई000) को कोड बिंदु और सबसे हाल ही में एन्कोडेड कोड बिंदु के सामान्यीकृत संस्करण के बीच अंतर के रूप में एन्कोड किया जाता है जो एएससीआईआई स्थान (यू + 0020) नहीं था। प्रारंभिक अवस्था U + 0040 है। सामान्यीकरण मानचित्रण इस प्रकार हैः वर्तमान कोड बिंदु और सामान्यीकृत पिछले कोड बिंदु के बीच का अंतर निम्नानुसार कूटबद्ध हैः प्रत्येक बाईट सीमा को निम्नलिखित तेरह बाईट मानों के साथ क्रमबद्ध किया गया हैः 00 07 08 09 0ए 0सी 0डी 0ई 0एफ 1ए 1बी 20। उदाहरण के लिए, 1156बी के अंतर के लिए कोडिंग करने वाले बाईट अनुक्रम एफ. सी. 06 एफ. एफ. के तुरंत बाद 1156सी के अंतर के लिए कोडिंग करने वाले बाईट अनुक्रम एफ. सी. 1001 आते हैं। स्थान U + 0020 को छोड़कर कोई भी ASCII इनपुट U + 0000 से U +07F एन्कोडर को U + 0040 पर रीसेट करता है। क्योंकि उपर्युक्त मान रेखा अंत कोड बिंदु U + 000D और U + 000A को कवर करते हैं जैसा कि (0D 0A) है, एन्कोडर प्रत्येक पंक्ति की शुरुआत में एक ज्ञात स्थिति में होता है। इसलिए एक बिट का अपभ्रंश अधिक से अधिक एक पंक्ति को प्रभावित करता है। तुलना के लिए, यू. टी. एफ.-8 में एक बिट का भ्रष्टाचार अधिक से अधिक एक कोड बिंदु को प्रभावित करता है, एस. सी. एस. यू. के लिए यह पूरे दस्तावेज़ को प्रभावित कर सकता है। बी. ओ. सी. यू.-1 विशेष रीसेट कोड 0x. एफ. एफ. के साथ उपर्युक्त मूल्यों के बिना इनपुट ग्रंथों के लिए भी एक समान मजबूती प्रदान करता है। जब एक डिकोडर इस ऑक्टेट को पाता है तो यह एक रेखा के अंत के लिए अपनी स्थिति को U + 0040 पर रीसेट करता है। बी. ओ. सी. यू.-1 विनिर्देश में 0x. एफ. एफ. रीसेट बाइट्स के उपयोग की अनुशंसा नहीं की जाती है, क्योंकि यह अन्य बी. ओ. सी. यू.-1 डिजाइन लक्ष्यों, विशेष रूप से द्विआधारी क्रम के साथ संघर्ष करता है। बी. ओ. सी. यू.-1 कूटबद्ध ग्रंथों की शुरुआत में एक हस्ताक्षर यू + एफ. ई. एफ. एफ. का वैकल्पिक उपयोग, अर्थात। बी. ओ. सी. यू.-1 बाईट अनुक्रम एफ. बी. ई. ई. 28, प्रारंभिक अवस्था यू + 0040 को यू + एफ. ई. सी. 0 में बदल देता है। दूसरे शब्दों में, हस्ताक्षर को अधिकांश अन्य यूनिकोड एन्कोडिंग योजनाओं की तरह आसानी से नहीं हटाया जा सकता है। हस्ताक्षर (एफ. बी. ई. ई. 28 एफ. एफ.) के बाद एक रीसेट बाइट जोड़ने से इस प्रभाव से बचा जा सकता है, लेकिन बी. ओ. सी. यू.-1 विनिर्देश इस अभ्यास की सिफारिश नहीं करता है। सिद्धांत रूप में यू. टी. एफ.-1 और यू. टी. एफ.-8 मूल यू. सी. एस.-4 सेट को 31 बिट्स के साथ 7 एफ. एफ. एफ. एफ. एफ. एफ. तक कूटबद्ध कर सकते हैं। बी. ओ. सी. यू.-1 और यू. टी. एफ.-16 आधुनिक यूनिकोड सेट को यू + 0000 से यू + 10 एफ. एफ. एफ. एफ. तक कूटबद्ध कर सकते हैं। एकल ऑक्टेट के रूप में कूटबद्ध तेरह संरक्षित कोड बिंदुओं को छोड़कर बी. ओ. सी. यू.-1 बहु-बाइट कूटलेखन में अष्टक का उपयोग कर सकता है। बी. ओ. सी. यू.-1 को अधिकतम चार बाइट्स की आवश्यकता होती है जिसमें एक लीड बाइट्स और एक से तीन ट्रेल बाइट्स होते हैं। ट्रेल बाइट्स एक शेष "मॉड्यूलो 243" (आधार 243) अंतर को कूटबद्ध करते हैं, लीड बाइट्स ट्रेल बाइट्स की संख्या और एक प्रारंभिक अंतर निर्धारित करता है। ध्यान दें कि रीसेट बाईट 0xFF संरक्षित नहीं है और ट्रेल बाईट के रूप में हो सकता है। 16 नवंबर 2022 से पहले पेटेंट, सामान्य बी. ओ. सी. यू. एल्गोरिदम को संयुक्त राज्य अमेरिका पेटेंट #6,737,994 द्वारा कवर किया गया था, जिसमें विशिष्ट बी. ओ. सी. यू.-1 कार्यान्वयन का भी उल्लेख है। यह पेटेंट अब समाप्त हो गया है। आई. बी. एम., जिसने बी. ओ. सी. यू.-1 के निर्माण के समय दोनों आविष्कारकों को नियुक्त किया था, ने यूनिकोड तकनीकी नोट में कहा कि "बी. ओ. सी. यू.-1 के पूरी तरह से अनुपालन संस्करण" के कार्यान्वयनकर्ताओं को रॉयल्टी-मुक्त लाइसेंस का अनुरोध करने के लिए आई. बी. एम. से संपर्क करना पड़ा। बी. ओ. सी. यू.-1 यूनिकोड वेब साइट पर वर्णित एकमात्र यूनिकोड संपीड़न योजना है जिसे बौद्धिक संपदा प्रतिबंधों से ग्रस्त होने के लिए जाना जाता है। इसके विपरीत, आई. बी. एम. ने यू. टी. एफ.-ई. बी. सी. डी. आई. सी. पर एक पेटेंट के लिए भी आवेदन किया, लेकिन उसने उस मामले में कार्यान्वयनकर्ताओं को लाइसेंस का अनुरोध करने की आवश्यकता के बजाय, प्रलेखन और एन्कोडिंग योजना को "यू. सी. एस. मानकों के हिस्से के रूप में परिवर्तन प्रारूप बनाने के लिए संबंधित किसी भी व्यक्ति के लिए स्वतंत्र रूप से उपलब्ध" बनाने का विकल्प चुना। संदर्भ यह भी देखें कि यू. टी. एफ.-1 में यू. टी. एफ.-1, यू. टी. एफ.-8 और बी. ओ. सी. यू.-1 की तुलना की गई है जो यूनिकोड ए लाइब्रेरी के लिए अंतर्राष्ट्रीय घटक हैं जो बी. ओ. सी. यू.-1 और अन्य यूनिकोड एन्कोडिंग डेटा संपीड़न यूनिकोड परिवर्तन प्रारूपों के बीच परिवर्तित हो सकते हैं।