अक्षर कूटन
वर्ण संकेतन आलेखी वर्णों, विशेष रूप से मानव भाषा के लिखित वर्णों को अंक निर्दिष्ट करने की प्रक्रिया है, जिससे उन्हें डिजिटल संगणकों का उपयोग करके संग्रहीत, प्रसारित और रूपांतरित करने की अनुमति मिलती है।[1] वर्ण संकेतन बनाने वाले संख्यात्मक मान "कूट बिंदु" कहलाते हैं और सामूहिक रूप से "कूट दिक्", "कूट पृष्ठ" या "वर्ण प्रतिचित्र" सम्मिलित होते हैं।
प्रकाशिक या विद्युत टेलीग्राफ से जुड़े प्रारंभिक वर्ण कूट केवल लिखित भाषाओं में उपयोग किए जाने वाले वर्णों के एक उपसमुच्चय का प्रतिनिधित्व कर सकते हैं, कभी-कभी बड़े वर्णों, अंकों और कुछ विराम चिह्नों तक ही सीमित होते हैं। आधुनिक संगणक प्रणालियों में डेटा के डिजिटल प्रतिनिधित्व की कम लागत अधिक विस्तृत वर्ण कूट (जैसे यूनिकोड) की अनुमति देती है जो कई लिखित भाषाओं में उपयोग किए जाने वाले अधिकांश वर्णों का प्रतिनिधित्व करते हैं। अंतरराष्ट्रीय स्तर पर स्वीकृत मानकों का उपयोग करते हुए वर्ण संकेतन वैद्युतिक रूप में अवतरण के विश्व व्यापक विनिमय की अनुमति देता है।
इतिहास
वर्ण कूट का इतिहास मशीन-मध्यस्थ वर्ण-आधारित प्रतीकात्मक जानकारी के लिए एक बार-उपन्यास विद्युत साधनों का उपयोग करते हुए, एक दूरी पर विकसित होने की आवश्यकता को दर्शाता है। शुरुआती कूट हस्तचालित और हाथ से लिखे गए संकेतन और बीजलेखन प्रणाली पर आधारित है, जैसे बेकन के संकेताक्षर, ब्रेल, अंतर्राष्ट्रीय समुद्री सिग्नल झंडे, और चीनी टेलीग्राफ कूट के लिए चीनी वर्णों के 4-अंकीय संकेतन (हंस श्जेलरअप, 1869)। विद्युत और विद्युत् यांत्रिक तकनीकों के स्वीकरण के साथ इन शुरुआती कूटों को नई क्षमताओं और शुरुआती मशीनों की सीमाओं के अनुकूल बनाया गया। 1840 के दशक में प्रस्तुत किया गया सबसे पुराना विद्युत-संचरित वर्ण कूट, मोर्स कूट, चर लंबाई के कूट उत्पन्न करने के लिए चार "प्रतीकों" (लघु संकेत, लंबा संकेत, छोटी जगह, लंबी जगह) की एक प्रणाली का उपयोग करता था। हालांकि मोर्स कूट का कुछ व्यावसायिक उपयोग मशीनरी के माध्यम से किया गया, इसे प्रायः हस्तचालित कूट के रूप में उपयोग किया जाता है, जो टेलीग्राफ कुंजी पर हाथ से उत्पन्न होता है और कान से समझने योग्य होता है, और अव्यावसायिक रेडियो और वैमानिकी उपयोग में बना रहता है। अधिकांश कूट निश्चित प्रति-वर्ण लंबाई या निश्चित-लंबाई कूट (उदा. यूनिकोड) के चर-लंबाई अनुक्रम के होते हैं।[2]
वर्ण संकेतन प्रणाली के सामान्य उदाहरणों में मोर्स कूट, बॉडॉट कूट, अमेरिकन स्टैंडर्ड कूट फॉर इन्फॉर्मेशन विनिमय (एएससीआईआई) और यूनिकोड सम्मिलित हैं। यूनिकोड, एक अच्छी तरह से परिभाषित और विस्तरणीय संकेतन प्रणाली है, जिसने सबसे पहले के वर्ण संकेतन को प्रतिस्थापित किया है, लेकिन वर्तमान में कूट विकास का मार्ग काफी प्रसिद्ध है।
बॉडॉट कूट, एक पांच-बिट संकेतन, 1870 में एमिल बॉडॉट द्वारा बनाया गया तथा 1874 में एकस्वित कराया गया था, 1901 में डोनाल्ड मरे द्वारा संशोधित किया गया था, और 1930 में सीसीआईटीटी द्वारा अंतर्राष्ट्रीय टेलीग्राफ वर्णमाला संख्या 2 (आईटीए2) के रूप में मानकीकृत किया गया था। "बॉडॉट" नाम को गलती से आईटीए2 और इसके कई रूपों में लागू किया गया है। आईटीए2 को कई कमियों का सामना करना पड़ा और कई उपकरण निर्माताओं द्वारा प्रायः "सुधार" किया गया था, कभी-कभी संगतता समस्याएं उत्पन्न कर रहा था। 1959 में यू.एस. सेना ने अपने फील्डटा कूट को परिभाषित किया, एक छह या सात-बिट कूट, जिसे यू.एस. आर्मी सिग्नल कोर द्वारा प्रस्तुत किया गया था। जबकि फील्डटा ने तत्कालीन आधुनिक मुद्दों (जैसे मशीन समाकलन के लिए व्यवस्थित वर्ण और अंक कूट) को संबोधित किया, फील्डटा अपने लक्ष्यों से कम हो गया और अल्पकालिक था। 1963 में एएससीआईआई समिति (जिसमें फील्डटा समिति के कम से कम एक सदस्य, डब्लू. एफ. ल्यूबर्टा सम्मिलित थे) द्वारा पहला एएससीआईआई (सूचना विनिमय के लिए अमेरिकी मानक कूट) कूट (एक्स3.4-1963) जारी किया गया था, जिसने एक सरल कूट का उपयोग करते हुए, फील्डटा की अधिकांश कमियों को संबोधित किया। कई सूक्ष्म परिवर्तन थे, जैसे कि कुछ निश्चित संख्यात्मक श्रेणियों के भीतर संग्रहणीय वर्ण समुच्चय। एएससीआईआई63 एक सफलता थी, जिसे व्यापक रूप से उद्योग द्वारा अपनाया गया था, और 1967 के एएससीआईआई कूट के अनुवर्ती मुद्दे के साथ (जिसमें लोअर-केस वर्ण जोड़े गए और कुछ "नियंत्रण कूट" मुद्दों को ठीक किया गया) एएससीआईआई67 को काफी व्यापक रूप से अपनाया गया था। एएससीआईआई67 की अमेरिकी-केंद्रित प्रकृति को यूरोपीय ईसीएमए-6 मानक में कुछ हद तक संबोधित किया गया था।[3]
हरमन होलेरिथ ने 19वीं सदी के अंत में जनगणना के आंकड़ों का विश्लेषण करने के लिए पंच कार्ड डेटा संकेतन का आविष्कार किया था। प्रारंभ में, प्रत्येक छेद की स्थिति एक अलग डेटा तत्व का प्रतिनिधित्व करती थी, लेकिन बाद में, संख्यात्मक जानकारी को निचली पंक्तियों को 0 से 9 तक क्रमांकित करके कूटबद्ध किया गया था, जिसमें एक स्तम्भ में एक पंच होता था जो इसकी पंक्ति संख्या का प्रतिनिधित्व करता था। बाद में वर्णानुक्रमिक डेटा को प्रति स्तंभ एक से अधिक पंच की अनुमति देकर कूटबद्ध किया गया । इलेक्ट्रोमैकेनिकल टेबुलेटिंग मशीन मशीन के माध्यम से कार्ड की गति के सापेक्ष दालों के समय के अनुसार आंतरिक रूप से तिथि का प्रतिनिधित्व करती है। जब आईबीएम वैद्युतिक प्रसंस्करण में गया, आईबीएम 603 वैद्युतिक मल्टीप्लायर से शुरू हुआ, तो उसने विभिन्न प्रकार की बाइनरी संकेतन योजनाओं का उपयोग किया जो पंच कार्ड कूट से जुड़ी थीं।
आईबीएम की बाइनरी कूटेड डेसीमल (बीसीडी) एक छह-बिट संकेतन योजना थी जिसका उपयोग आईबीएम द्वारा अपने 702[4] और 704 संगणकों में, और इसके बाद के 7000 श्रृंखला और 1400 श्रृंखलाओं में, साथ ही साथ संबद्ध बाह्य उपकरणों में भी किया गया था। चूंकि पंच किए गए कार्ड कूट के उपयोग में केवल अनुमत अंक, अपर-केस अंग्रेजी वर्ण और कुछ विशेष वर्ण, छह बिट पर्याप्त थे। बीसीडी ने वर्णमाला और विशेष वर्णों को सम्मिलित करने के लिए मौजूदा सरल चार-बिट संख्यात्मक संकेतन को बढ़ाया, इसे आसानी से पंच-कार्ड संकेतन में मैप किया जो पहले से ही व्यापक उपयोग में था। आईबीएम के कूट मुख्य रूप से आईबीएम उपकरण के साथ उपयोग किए गए थे; उस युग के अन्य संगणक विक्रेताओं के पास अपने स्वयं के वर्ण कूट थे, प्रायः छह-बिट, लेकिन सामान्यतः आईबीएम उपकरण पर निर्मित टेप को पढ़ने की क्षमता थी। बीसीडी आईबीएम के विस्तारित बाइनरी कूटेड दशमलव विनिमय कूट (सामान्यतः ईबीसीडीआईसी के रूप में संक्षिप्त) का अग्रदूत था, आईबीएम प्रणाली / 360 के लिए 1963 में विकसित एक आठ-बिट संकेतन योजना जिसमें एक बड़ा वर्ण समुच्चय सम्मिलित था, जिसमें लोअर केस लेटर्स भी सम्मिलित थे।
ऐसे समुच्चयों की सीमाएं जल्द ही स्पष्ट हो गईं, [[to whom?]?] और उन्हें बढ़ाने के लिए कई तदर्थ तरीके विकसित किए गए। पूर्वी एशियाई लिपियों के सीजेके परिवार सहित विभिन्न भाषाओं के लिए और अधिक लेखन प्रणालियों का समर्थन करने की आवश्यकता, पात्रों की एक बड़ी संख्या के लिए समर्थन की आवश्यकता है और पिछले तदर्थ दृष्टिकोण के बजाय वर्ण संकेतन के लिए एक व्यवस्थित दृष्टिकोण की मांग की।[citation needed]
सार्वभौमिक रूप से विनिमेय वर्ण संकेतन विकसित करने की कोशिश में, 1980 के दशक में शोधकर्ताओं को इस दुविधा का सामना करना पड़ा कि, एक ओर, अतिरिक्त वर्णों को समायोजित करने के लिए अधिक बिट्स जोड़ना आवश्यक था, लेकिन दूसरी ओर, अपेक्षाकृत छोटे वर्ण समुच्चय के उपयोगकर्ताओं के लिए। लैटिन वर्णमाला (जो अभी भी अधिकांश संगणक उपयोगकर्ताओं का गठन करते हैं), वे अतिरिक्त बिट्स उस समय के दुर्लभ और महंगे कंप्यूटिंग संसाधनों का एक बड़ा अपशिष्ट थे (क्योंकि वे हमेशा ऐसे उपयोगकर्ताओं के लिए शून्य होंगे)। 1985 में, औसत व्यक्तिगत संगणक उपयोगकर्ता की हार्ड डिस्क ड्राइव केवल 10 मेगाबाइट स्टोर कर सकती थी, और थोक बाजार में इसकी कीमत लगभग US$250 थी (और खुदरा क्षेत्र में अलग से खरीदे जाने पर बहुत अधिक),[5] इसलिए यह उस समय बहुत महत्वपूर्ण था। हर बिट को गिनने के लिए।
समझौता समाधान जो अंततः पाया गया और यूनिकोड में विकसित किया गया था, इस धारणा को तोड़ना था (टेलीग्राफ कूट पर वापस डेटिंग) कि प्रत्येक वर्ण को हमेशा बिट्स के एक विशेष अनुक्रम से सीधे मेल खाना चाहिए। इसके बजाय, वर्णों को पहले अमूर्त संख्याओं के रूप में एक सार्वभौमिक मध्यवर्ती प्रतिनिधित्व के लिए मैप किया जाएगा, जिसे कूट पॉइंट कहा जाता है। कूट बिंदुओं को तब विभिन्न तरीकों से और संदर्भ के आधार पर प्रति वर्ण (कूट इकाइयों) की विभिन्न डिफ़ॉल्ट संख्याओं के साथ प्रदर्शित किया जाएगा। कूट इकाई की लंबाई से अधिक कूट बिंदुओं को कूटबद्ध करने के लिए, जैसे आठ-बिट इकाइयों के लिए 256 से ऊपर, समाधान चर-चौड़ाई संकेतन को लागू करना था जहां एक एस्केप अनुक्रम संकेत देगा कि बाद के बिट्स को उच्च कूट बिंदु के रूप में पार्स किया जाना चाहिए।
शब्दावली
- वर्ण संकेतन से संबंधित शब्दावली
- एक वर्ण पाठ की एक न्यूनतम इकाई है जिसका अर्थ मूल्य है।
- एक वर्ण समुच्चय वर्णों का एक संग्रह है जो कई भाषाओं द्वारा उपयोग किया जा सकता है। उदाहरण: लैटिन वर्ण समुच्चय का उपयोग अंग्रेजी और अधिकांश यूरोपीय भाषाओं द्वारा किया जाता है, हालांकि ग्रीक वर्ण समुच्चय केवल ग्रीक भाषा द्वारा उपयोग किया जाता है।
- एक कूटलिखित वर्ण समुच्चय एक वर्ण समुच्चय होता है जिसमें प्रत्येक वर्ण एक अद्वितीय संख्या से मेल खाता है।
- एक कूटलिखित वर्ण समुच्चय का एक कूट बिंदु वर्ण समुच्चय या कूट स्थान में कोई अनुमत मान है।
- कूट स्थान पूर्णांकों की एक श्रेणी है जिसका मान कूट बिंदु होते हैं।
- कूट इकाई वर्ण संकेतन योजना का "शब्द आकार" है, जैसे 7-बिट, 8-बिट, 16-बिट। कुछ योजनाओं में, कुछ वर्णों को एकाधिक कूट इकाइयों का उपयोग करके कूटबद्ध किया जाता है, जिसके परिणामस्वरूप चर-लंबाई संकेतन होती है। कुछ दस्तावेज़ों में एक कूट इकाई को एक कूट मान के रूप में संदर्भित किया जाता है।[6]
- वर्ण भाषायी कोश की सूची (पात्रों का सार समुच्चय)
वर्ण भाषायी कोश की सूची लैटिन, सिरिलिक, चीनी, कोरियाई, जापानी, हिब्रू और अरामी सहित विभिन्न लिपियों में पाए जाने वाले दस लाख से अधिक वर्णों का एक सार समुच्चय है।
अन्य प्रतीकों जैसे कि संगीत संकेतन भी वर्ण भाषायी कोश की सूची में सम्मिलित हैं। यूनिकोड और जीबी 18030 दोनों मानकों में एक वर्ण प्रदर्शन है। जैसा कि एक मानक में नए वर्ण जोड़े जाते हैं, अन्य मानक भी समानता बनाए रखने के लिए उन वर्णों को जोड़ता है।
कूट इकाई आकार विशेष संकेतन के लिए बिट माप के बराबर है:
- युएस-एएससीआईआई में एक कूट इकाई में 7 बिट होते हैं;
- युटीएफ-8, ईबीसीडीआईसी और जीबी 18030 में एक कूट इकाई में 8 बिट होते हैं;
- युटीएफ-16 में एक कूट इकाई में 16 बिट होते हैं;
- युटीएफ-32 में एक कूट इकाई में 32 बिट होते हैं।
- एक कूट इकाई का उदाहरण
"ab̲c𐐀" वर्णों की एक वर्ण श्रृंखला पर विचार करें, अर्थात वर्ण श्रृंखला जिसमें यूनिकोड संयोजन वर्ण (U+0332 ̲ ) और साथ ही एक पूरक वर्ण (U+10400 𐐀 ) है। इस वर्ण श्रृंखला में कई अभ्यावेदन हैं जो तार्किक रूप से समतुल्य हैं, फिर भी जबकि प्रत्येक परिस्थितियों के विविध समुच्चय या आवश्यकताओं की श्रेणी के अनुकूल है:
- चार संघटित वर्ण:
a
,b̲
,c
,𐐀
- पांच वर्णिम:
a
,b
,_
,c
,𐐀
- पांच यूनिकोड कूट बिंदु:
U+0061
,U+0062
,U+0332
,U+0063
,U+10400
- पांच युटीएफ-32 कूट इकाइयाँ (32-बिट पूर्णांक मान):
0x00000061
,0x00000062
,0x00000332
,0x00000063
,0x00010400
- छह युटीएफ-16 कूट इकाइयाँ (16-बिट पूर्णांक)
0x0061
,0x0062
,0x0332
,0x0063
,0xd801
,0xdc00
- नौ यूटीएफ -8 कूट इकाइयां (8-बिट मान, या बाइट)
0x61
,0x62
,0xCC
,0xB2
,0x63
,0xf0
,0x90
,0x90
,0x80
विशेष रूप से अंतिम वर्ण पर ध्यान दें, जिसे या तो 1 32-बिट मान, 2 16-बिट मानों के साथ दर्शाया गया है। या 4 8-बिट मान। हालांकि उन रूपों में से प्रत्येक ग्लिफ़ का प्रतिनिधित्व करने के लिए बिट्स (32) की समान संख्या का उपयोग करता है, वास्तविक संख्यात्मक बाइट मान और उनकी व्यवस्था पूरी तरह से असंबंधित दिखाई देती है।
- कूट बिंदु
यूनिकोड में किसी वर्ण को संदर्भित करने की परंपरा 'यु+' से शुरू होती है और उसके बाद हेक्साडेसिमल में कूट बिंदु मान होता है। यूनिकोड मानक के लिए मान्य कूट बिंदुओं की सीमा यु+0000 से यु+10एफएफएफएफ है, समावेशी, 17 विमानों में विभाजित, 0 से 16 की संख्या से पहचाना जाता है। यु+0000 से यु+एफएफएफएफ तक के वर्ण विमान 0 में हैं, बेसिक मल्टीलिंगुअल प्लेन (बीएमपी) कहा जाता है। इस विमान में सबसे अधिक उपयोग किए जाने वाले पात्र हैं। अन्य तलों में यु+10000 से यु+10एफएफएफएफ की श्रेणी के वर्ण पूरक वर्ण कहलाते हैं।
निम्न तालिका कूट बिंदु मानों के उदाहरण दिखाती है:
वर्ण | यूनिकोड कूट बिंदु | ग्लिफ़ |
---|---|---|
लैटिन A | यु+0041 | Α |
लैटिन शार्प S | यु+00डीएफ | ß |
हान पूर्व के लिए | यु+6771 | 東 |
एम्परसेंड | यु+0026 | & |
उल्टे विस्मय बोधक चिह्न | यु+00ए1 | ¡ |
खंड संकेत | यु+00ए7 | § |
एक कूट बिंदु कूट इकाइयों के अनुक्रम द्वारा दर्शाया गया है। प्रतिचित्रण संकेतन द्वारा परिभाषित किया गया है। इस प्रकार, एक कूट बिंदु को दर्शाने के लिए आवश्यक कूट इकाइयों की संख्या संकेतन पर निर्भर करती है:
- यूटीएफ-8: कूट एक, दो, तीन या चार कूट इकाइयों के अनुक्रम के लिए प्रतिचित्र को इंगित करता है।
- युटीएफ-16: कूट इकाइयाँ 8-बिट कूट इकाइयों की तुलना में दोगुनी लंबी हैं। इसलिए, यु+10000 से कम स्केलर मान वाले किसी भी कूट बिंदु को एक एकल कूट इकाई के साथ कूटबद्ध किया जाता है। यु+10000 या उससे अधिक मान वाले कूट बिंदुओं के लिए प्रत्येक में दो कूट इकाइयों की आवश्यकता होती है। कूट इकाइयों के इन जोड़े का युटीएफ-16 में एक अनूठा शब्द है: "यूनिकोड धात्री युग्म"।
- युटीएफ-32: 32-बिट कूट इकाई इतनी बड़ी होती है कि प्रत्येक कूट बिंदु को एक एकल कूट इकाई के रूप में दर्शाया जाता है।
- जीबी 18030: छोटी कूट इकाइयों के कारण प्रति कूट बिंदु पर कई कूट इकाइयाँ सामान्य हैं। कूट बिंदुओं को एक, दो, या चार कूट इकाइयों में मैप किया जाता है।[7]
यूनिकोड संकेतन मॉडल
यूनिकोड और इसके समानांतर मानक, आईएसओ/आईईसी 10646 यूनिवर्सल वर्ण समुच्चय, एक साथ मिलकर एक आधुनिक, एकीकृत वर्ण संकेतन बनाते हैं। वर्णों को सीधे ऑक्टेट (बाइट्स) में मैप करने के बजाय, वे अलग-अलग परिभाषित करते हैं कि कौन से वर्ण उपलब्ध हैं, संबंधित प्राकृतिक संख्याएँ (कूट बिंदु), उन संख्याओं को निश्चित आकार की प्राकृतिक संख्याओं (कूट इकाइयों) की एक श्रृंखला के रूप में कैसे कूटबद्ध किया जाता है, और अंत में कैसे वे इकाइयाँ ऑक्टेट की एक धारा के रूप में कूटबद्धेड हैं। इस अपघटन का उद्देश्य वर्णों का एक सार्वभौमिक समुच्चय स्थापित करना है जिसे विभिन्न तरीकों से कूटबद्ध किया जा सकता है।[8] इस मॉडल का उचित रूप से वर्णन करने के लिए "वर्ण समुच्चय" और "वर्ण संकेतन" की तुलना में अधिक सटीक शब्दों की आवश्यकता होती है। आधुनिक मॉडल में उपयोग की जाने वाली शर्तें इस प्रकार हैं:[8]
वर्ण भाषायी कोश की सूची सार तत्वों का पूरा समुच्चय है जो एक प्रणाली समर्थन करता है। भाषायी कोश की सूची को बंद किया जा सकता है, अर्थात एक नया मानक बनाए बिना किसी भी परिवर्धन की अनुमति नहीं है (जैसा कि एएससीआईआई और अधिकांश आईएसओ-8859 श्रृंखला की स्थिति में है), या यह खुला हो सकता है, परिवर्धन की अनुमति देता है (जैसा कि यूनिकोड और कुछ हद तक विंडोज कूट पृष्ठों की स्थिति में है)। किसी दिए गए भाषायी कोश की सूची के पात्र उन निर्णयों को दर्शाते हैं जो लेखन प्रणालियों को बुनियादी सूचना इकाइयों में विभाजित करने के बारे में किए गए हैं। लैटिन, ग्रीक और सिरिलिक वर्णमाला के मूल रूपों को वर्णों, अंकों, विराम चिह्नों और कुछ विशेष वर्णों जैसे कि स्थान में तोड़ा जा सकता है, जो सभी को सरल रेखीय अनुक्रमों में व्यवस्थित किया जा सकता है जो उसी क्रम में प्रदर्शित होते हैं जिस क्रम में वे पढ़े जाते हैं। लेकिन इन वर्णों के साथ भी, विशेषक चिह्न एक जटिलता उत्पन्न करते हैं: उन्हें या तो एक वर्ण के भाग के रूप में माना जा सकता है जिसमें एक वर्ण और विशेषक (एक पूर्वनिर्मित वर्ण के रूप में जाना जाता है), या अलग-अलग वर्ण होते हैं। पूर्व एक बहुत सरल पाठ प्रबंधन प्रणाली की अनुमति देता है लेकिन बाद वाला पाठ में किसी भी वर्ण / विशेषक संयोजन का उपयोग करने की अनुमति देता है। संयुक्ताक्षर इसी तरह की समस्याएं उत्पन्न करते हैं। अन्य लेखन प्रणाली, जैसे कि अरबी और हिब्रू, को अधिक जटिल वर्ण भाषायी कोश के साथ दर्शाया जाता है, क्योंकि द्विदिश पाठ और ग्लिफ़ जैसी चीजों को समायोजित करने की आवश्यकता होती है जो अलग-अलग स्थितियों के लिए अलग-अलग तरीकों से एक साथ जुड़ते हैं।
कूटलिखित वर्ण समुच्चय (सीसीएस) एक ऐसा फ़ंक्शन है जो वर्णों को कूट बिंदुओं पर प्रतिचित्रित करता है (प्रत्येक कूट बिंदु एक वर्ण का प्रतिनिधित्व करता है)। उदाहरण के लिए, किसी दिए गए भाषायी कोश की सूची में, लैटिन वर्णमाला में बड़े वर्ण "ए" को कूट बिंदु 65, वर्ण "बी" से 66, आदि द्वारा दर्शाया जा सकता है। एकाधिक कूटलिखित वर्ण समुच्चय एक ही भाषायी कोश की सूची साझा कर सकते हैं; उदाहरण के लिए आईएसओ/आईईसी 8859-1 और आईबीएम कूट पृष्ठ 037 और 500 सभी एक ही भाषायी कोश की सूची को कवर करते हैं लेकिन उन्हें विभिन्न कूट बिंदुओं पर मैप करते हैं।
वर्ण संकेतन फॉर्म (सीईएफ) एक प्रणाली में भंडारण की सुविधा के लिए कूट इकाइयों को कूट बिंदुओं की मैपिंग है जो निश्चित लंबाई के बिट अनुक्रमों के रूप में संख्याओं का प्रतिनिधित्व करता है (अर्थात व्यावहारिक रूप से कोई भी संगणक प्रणाली)। उदाहरण के लिए, एक प्रणाली जो 16-बिट इकाइयों में संख्यात्मक जानकारी संग्रहीत करती है, प्रत्येक इकाई में केवल 0 से 65,535 कूट बिंदुओं का सीधे प्रतिनिधित्व कर सकती है, लेकिन बड़े कूट बिंदु (जैसे, 65,536 से 1.4 मिलियन) को कई 16-बिट इकाइयों का उपयोग करके दर्शाया जा सकता है। यह पत्राचार सीईएफ द्वारा परिभाषित किया गया है।
इसके बाद, वर्ण संकेतन योजना (सीईएस) एक अष्टक-आधारित फ़ाइल प्रणाली पर भंडारण की सुविधा के लिए या एक ऑक्टेट-आधारित नेटवर्क पर संचरण की सुविधा के लिए ऑक्टेट के अनुक्रम के लिए कूट इकाइयों की मैपिंग है। सरल वर्ण संकेतन योजनाओं में सम्मिलित हैं युटीएफ-8, युटीएफ-16बीई, युटीएफ-32बीई, युटीएफ-16एलई या युटीएफ-32एलई; यूटीएफ-16, यूटीएफ-32 और आईएसओ/आईईसी 2022 जैसी मिश्रित वर्ण संकेतन योजनाएं, बाइट ऑर्डर चिह्न या एस्केप अनुक्रमों का उपयोग करके कई सरल योजनाओं के बीच स्विच करती हैं; कंप्रेसिंग स्कीम प्रति कूट यूनिट (जैसे एससीएसयु, बीओसीयु, और पनीकोड) में उपयोग किए जाने वाले बाइट्स की संख्या को कम करने की कोशिश करती है।
हालांकि युटीएफ-32बीई एक सरल सीईएस है, यूनिकोड के साथ काम करने वाले अधिकांश प्रणाली या तो युटीएफ-8 का उपयोग करते हैं, जो निश्चित-चौड़ाई एएससीआईआई के साथ पिछड़ा संगत है और यूनिकोड कूट को ऑक्टेट के चर-चौड़ाई अनुक्रमों या युटीएफ-16बीई को मैप करता है, जो कि पिछड़ा हुआ है निश्चित-चौड़ाई वाले युसीएस-2बीई के साथ संगत और 16-बिट शब्दों के चर-चौड़ाई वाले अनुक्रमों के लिए यूनिकोड कूट बिंदुओं को प्रतिचित्रित करता है। एक विस्तृत चर्चा के लिए यूनिकोड संकेतन की तुलना देखें।
अंत में, उच्च-स्तरीय विज्ञप्ति हो सकता है जो यूनिकोड वर्ण के विशेष संस्करण का चयन करने के लिए अतिरिक्त जानकारी प्रदान करता है, विशेष रूप से जहां क्षेत्रीय रूपांतर होते हैं जिन्हें यूनिकोड में समान वर्ण के रूप में 'एकीकृत' किया गया है। एक्सएमएल विशेषता एक्सएमएल: लैंग एक उदाहरण है।
यूनिकोड मॉडल ऐतिहासिक प्रणालियों के लिए वर्ण प्रतिचित्र शब्द का उपयोग करता है, जो सभी सीसीएस, सीईएफ और सीईएस परतों को कवर करते हुए, बाइट्स के अनुक्रम के लिए सीधे वर्णों का एक क्रम निर्दिष्ट करता है।[8]
वर्ण समुच्चय, वर्ण प्रतिचित्र और कूट पृष्ठ
ऐतिहासिक रूप से, शब्द वर्ण संकेतन, वर्ण प्रतिचित्र, वर्ण समुच्चय और कूट पृष्ठ संगणक विज्ञान में पर्यायवाची थे, क्योंकि एक ही मानक वर्णों के भाषायी कोश की सूची को निर्दिष्ट करते और उन्हें कूट इकाइयों की एक धारा में जैसे कूटबद्ध किया जाता है - सामान्यतः एक वर्ण के साथ प्रति कूट इकाई। लेकिन अब शब्दों से संबंधित होते है परन्तु अलग-अलग अर्थ होते हैं,[9] कई अलग-अलग संकेतन प्रणाली के बारे में लिखते और एकीकृत करते समय मानक निकायों द्वारा सटीक शब्दावली का उपयोग करने के प्रयासों के कारण।[8] उपेक्षा के साथ, शब्द वर्ण समुच्चय लगभग सर्वव्यापी होने के साथ अभी भी एक दूसरे के स्थान पर उपयोग किए जाते हैं।
"कूट पृष्ठ" का अर्थ सामान्यतः बाइट-उन्मुख संकेतन होता है, लेकिन संकेतन के कुछ सूट (अलग-अलग स्क्रिप्ट को कवर करने) के संबंध में, जहां कई वर्ण उन सभी कूट पृष्ठों में समान कूट साझा करते हैं। सुविख्यात कूट पृष्ठ सुइट्स "विंडोज" (विंडोज-1252 पर आधारित) और "आईबीएम"/"डॉस" (कूट पृष्ठ 437 पर आधारित) हैं, विवरण के लिए विंडोज कूट पृष्ठ देखें। अधिकांश, लेकिन सभी नहीं, कूट पृष्ठों के रूप में संदर्भित संकेतन एकल-बाइट संकेतन हैं (लेकिन बाइट आकार पर ऑक्टेट देखें।)
आईबीएम का वर्ण डेटा रिप्रेजेंटेशन आर्किटेक्चर (सीडीआरए) कूटलिखित वर्ण समुच्चय आइडेंटिफायर (सीसीएसआईडी) के साथ संस्थाओं को नामित करता है, जिनमें से प्रत्येक को "चारसमुच्चय", "वर्ण समुच्चय", "कूट पृष्ठ" या "चारमैप" कहा जाता है।[8]
शब्द "कूट पृष्ठ" यूनिक्स या लिनक्स में नहीं होता है, जहां "चार्मैप" को प्राथमिकता दी जाती है, सामान्यतः लोकेल के बड़े संदर्भ में।
"कूटेड वर्ण समुच्चय" के विपरीत, एक "वर्ण संकेतन" अमूर्त वर्णों से लेकर कूट शब्दों तक का एक नक्शा है। एचटीटपी (और एमआईएमई) की भाषा में एक "वर्ण समुच्चय" वर्ण संकेतन के समान होता है (लेकिन सीसीएस के समान नहीं)।
"लैगसी संकेतन" एक शब्द है जिसका उपयोग कभी-कभी पुराने वर्ण संकेतन को चिह्नित करने के लिए किया जाता है, लेकिन अर्थ की अस्पष्टता के साथ। इसका अधिकांश उपयोग यूनिकोडीकरण के संदर्भ में है, जहां यह संकेतन को संदर्भित करता है जो सभी यूनिकोड कूट बिंदुओं को कवर करने में विफल रहता है, या, अधिक सामान्यतः, कुछ भिन्न वर्ण भाषायी कोश का उपयोग करते हुए: एक यूनिकोड वर्ण,[10] या इसके विपरीत का प्रतिनिधित्व करने वाले कई कूट बिंदु (उदाहरण के लिए कूट पृष्ठ 437 देखें)। कुछ स्रोत संकेतन को लैगसी के रूप में केवल इसलिए संदर्भित करते हैं क्योंकि यह यूनिकोड से पहले था।[11] सभी विंडोज कूट पृष्ठों को सामान्यतः लैगसी के रूप में संदर्भित किया जाता है, क्योंकि वे यूनिकोड से पहले और क्योंकि वे सभी 221 संभावित यूनिकोड कूट बिंदुओं का प्रतिनिधित्व करने में असमर्थ हैं।
वर्ण संकेतन भाषांतर
उपयोग में कई वर्ण संकेतन विधियों (और संग्रहीत डेटा के साथ पिछड़े संगतता की आवश्यकता) के परिणामस्वरूप, कई संगणक प्रोग्राम डेटा ट्रांसकूटिंग के रूप में संकेतन योजनाओं के बीच डेटा का अनुवाद करने के लिए विकसित किए गए हैं। इनमें से कुछ का उल्लेख नीचे किया गया है।
क्रॉस-प्लेटफ़ॉर्म:
- वेब ब्राउजर - अधिकांश आधुनिक वेब ब्राउजर में स्वचालित वर्ण संकेतन अभिज्ञान होता है। उदाहरण के लिए, फ़ायरफ़ॉक्स 3 पर, दृष्टि/वर्ण संकेतन सबमेनू देखें।
- आइकनवी - संकेतन को बदलने के लिए एक प्रोग्राम और मानकीकृत एपीआई
- लुईट - एक प्रोग्राम जो इनपुट और आउटपुट के संकेतन को अंतःक्रियात्मक रूप से चल रहे प्रोग्राम में परिवर्तित करता है
- कन्वर्ट_एन्कोडिंग.पीवाई - मनमाना संकेतन और लाइन प्रत्यय के बीच अवतरण फ़ाइलों को परिवर्तित करने के लिए एक पायथन-आधारित उपयोगिता[12]
- डिकोडेएच.पीवाई - एक एल्गोरिथ्म और एक वर्ण श्रृंखला के संकेतन का अनुमान लगाने वाला मॉड्यूल[13]
- यूनिकोड के लिए अंतर्राष्ट्रीय घटक - वर्णसमुच्चय रूपांतरण करने के लिए सी और जावा लाइब्रेरी का एक समुच्चय। युसीओएनवी को आईसीयु4सी से उपयोग किया जा सकता है।
- कारडेट - यह मोज़िला स्वचालित-संकेतन-अभिज्ञान कूट का पायथन संगणक भाषा में अनुवाद है।
- यूनिक्स फ़ाइल कमांड के नए संस्करण वर्ण संकेतन (सिगविन पर भी उपलब्ध) की मूल पहचान करने का प्रयास करते हैं।
- कारसेट - सी++/उपयोगकर्ता-परिभाषित धाराओं के बीच परिवर्तित करने के लिए साधारण अंतरापृष्ठ के साथ सी++ टेम्पलेट लाइब्रेरी। चारसमुच्चय ने कई वर्ण-समुच्चयों को परिभाषित किया है और आपको एंडियननेस के समर्थन के साथ यूनिकोड फॉर्मेट का उपयोग करने की अनुमति देता है।
यूनिक्स-लाइक:
- सीएमवी - फाइलनामों को ट्रांसकूटिंग के लिए एक सरल उपकरण।[14]
- सीओएनवीएमवी - एक फ़ाइल नाम को एक संकेतन से दूसरे में परिवर्तित करता है।[15]
- सीएसटीओसीएस - चेक और स्लोवाक भाषाओं के लिए फ़ाइल सामग्री को एक संकेतन से दूसरे संकेतन में परिवर्तित करता है।
- ईएनसीए - दी गई अवतरण फाइलों के लिए संकेतन का विश्लेषण करता है।[16]
- रिकोड - फ़ाइल की सामग्री को एक संकेतन से दूसरे में परिवर्तित करता है।[17]
- युटीआरएसी - फ़ाइल की सामग्री को एक संकेतन से दूसरे संकेतन में परिवर्तित करता है।[18]
माइक्रोसॉफ़्ट विंडोज़:
- एन्कोडिंग.कन्वर्ट - .एनईटी एपीआई[19]
- मल्टीबाइटटूवाइडचार/वाइडचारटूमल्टीबाइट - एएनएसआई से यूनिकोड और यूनिकोड से एएनएसआई में परिवर्तित करने के लिए[20]
- सीएससीवीटी - एक वर्ण समुच्चय परिवर्तन टूल[21]
- ईएनसीए - दी गई अवतरण फाइलों के लिए संकेतन का विश्लेषण करता है।[22]
यह भी देखें
- प्रतिशत संकेतन
- ऑल्ट कूट
- एचटीएमएल में वर्ण संकेतन
- श्रेणी:वर्ण कूटलेखन - सामान्य रूप से वर्ण कूटबन्धन से संबंधित लेख
- श्रेणी:वर्ण समुच्चय – विशिष्ट वर्ण संकेतन का विवरण देने वाले लेख
- हेक्साडेसिमल निरूपण
- मोजीबेक - वर्ण समुच्चय मिसमैप
- मोजिकयो - एक प्रणाली ("ग्लिफ़ समुच्चय") जिसमें 100,000 से अधिक चीनी वर्ण चित्र, आधुनिक और प्राचीन, लोकप्रिय और अस्पष्ट सम्मिलित हैं
- प्रस्तुति परत
- ट्रोन, ट्रोन प्रोजेक्ट का हिस्सा, एक एन्कोडिंग सिस्टम है जो हान युनीफिकेशन का उपयोग नहीं करता है; इसके बजाय, यह पात्रों के 16-बिट "प्लेन" के बीच स्विच करने के लिए "कंट्रोल कोड" का उपयोग करता है।
- सार्वभौमिक वर्ण समुच्चय वर्ण
- वर्णसमुच्चय त्रुटिमार्जन- कुछ अनुप्रयोगों में उपयोग किया जाता है जब वर्ण संकेतन मेटाडेटा उपलब्ध नहीं होता है
सामान्य वर्ण संकेतन
- आईएसओ 646
- एएससीआईआई
- ईबीसीडीआईसी
- आईएसओ 8859:
- आईएसओ 8859-1 पश्चिमी यूरोप
- आईएसओ 8859-2 पश्चिमी और मध्य यूरोप
- आईएसओ 8859-3 पश्चिमी यूरोप और दक्षिण यूरोपीय (तुर्की, माल्टीज़ प्लस एस्पेरांतो)
- आईएसओ 8859-4 पश्चिमी यूरोप और बाल्टिक देश (लिथुआनिया, एस्टोनिया, लातविया और लैप)
- आईएसओ 8859-5 सिरिलिक वर्णमाला
- आईएसओ 8859-6 अरबी
- आईएसओ 8859-7 ग्रीक
- आईएसओ 8859-8 हिब्रू
- आईएसओ 8859-9 पश्चिमी यूरोप संशोधित तुर्की चरित्र सेट के साथ
- आईएसओ 8859-10 पश्चिमी यूरोप नॉर्डिक भाषाओं के लिए तर्कसंगत चरित्र सेट के साथ, जिसमें संपूर्ण आइसलैंडिक सेट शामिल है
- आईएसओ 8859-11 थाई
- आईएसओ 8859-13 बाल्टिक भाषाएँ प्लस पोलिश
- आईएसओ 8859-14 सेल्टिक भाषाएँ (आयरिश गेलिक, स्कॉटिश, वेल्श)
- आईएसओ 8859-15 ने आईएसओ 8859-1 में यूरो चिह्न और अन्य युक्तिकरण जोड़ा
- आईएसओ 8859-16 मध्य, पूर्वी और दक्षिणी यूरोपीय भाषाएं (अल्बानियाई, बोस्नियाई, क्रोएशियाई, हंगेरियन, पोलिश, रोमानियाई, सर्बियाई और स्लोवेनियाई, लेकिन फ्रेंच, जर्मन, इतालवी और आयरिश गेलिक)
- सीपी437, सीपी720, सीपी737, सीपी850, सीपी852, सीपी855, सीपी857, सीपी858, सीपी860, सीपी861, सीपी862, सीपी863, सीपी865, सीपी866, सीपी869, सीपी872
- एमएस-विंडोज कैरेक्टर सेट:
- विंडोज -1250 मध्य यूरोपीय भाषाओं के लिए जो लैटिन लिपि का उपयोग करते हैं, (पोलिश, चेक, स्लोवाक, हंगेरियन, स्लोवेन, सर्बियाई, क्रोएशियाई, बोस्नियाई, रोमानियाई और अल्बानियाई)
- सिरिलिक अक्षरों के लिए विंडोज-1251
- विंडोज -1252 पश्चिमी भाषाओं के लिए
- विंडोज-1253 ग्रीक के लिए
- विंडोज -1254 तुर्की के लिए
- विंडोज-1255 हिब्रू के लिए
- विंडोज़-1256 अरबी के लिए
- विंडोज -1257 बाल्टिक भाषाओं के लिए
- विंडोज-1258 वियतनामी के लिए
- मैक ओएस रोमन
- केओI8-आर, केओI8-यू, केओI7
- एमआईके
- आईएससीआईआई
- टीएससीआईआई
- वीआईएससीआईआई
- जेआईएस एक्स 0208 जापानी वर्ण एन्कोडिंग के लिए व्यापक रूप से तैनात मानक है जिसमें कई एन्कोडिंग फॉर्म हैं।
- शिफ्ट जेआईएस (माइक्रोसॉफ्ट कोड पेज 932 शिफ्ट_जेआईएस की एक बोली है)
- ईयूसी-जेपी
- आईएसओ-2022-जेपी
- जेआईएस एक्स 0213 जेआईएस एक्स 0208 का विस्तारित संस्करण है।
- शिफ्ट_जेआईएस-2004
- ईयूसी-जेआईएस-2004
- आईएसओ-2022-जेपी-2004
- चीनी गुओबियाओ
- जीबी 2312
- जीबीके (माइक्रोसॉफ्ट कोड पृष्ठ 936)
- जीबी 18030
- ताइवान बिग5 (एक अधिक प्रसिद्ध संस्करण माइक्रोसॉफ्ट कोड पेज 950 है)
- हांगकांग एचकेएससीसी
- कोरियाई
- केएस एक्स 1001 एक कोरियाई डबल-बाइट वर्ण एन्कोडिंग मानक है
- ईयूसी-केआर
- आईएसओ-2022-केआर
- यूनिकोड (और उसके उपसमुच्चय, जैसे कि 16-बिट 'मूल बहुभाषी विमान')
- यूटीएफ-8
- यूटीएफ-16
- यूटीएफ-32
- एएनएसईएल या आईएसओ / आईईसी 6937
संदर्भ
- ↑ Definition from The Tech Terms Dictionary
- ↑ Tom Henderson (17 April 2014). "Ancient Computer Character Code Tables – and Why They're Still Relevant". Smartbear. Retrieved 29 April 2014.
- ↑ Tom Jennings (1 March 2010). "An annotated history of some character codes". Retrieved 1 November 2018.
- ↑ "IBM Electronic Data-Processing Machines Type 702 Preliminary Manual of Information" (PDF). 1954. p. 80. 22-6173-1.
- ↑ Strelho, Kevin (15 April 1985). "IBM Drives Hard Disks to New Standards". InfoWorld. Popular Computing Inc. pp. 29–33. Retrieved 10 November 2020.
- ↑ "Unicode glossary". Unicode consortium.
- ↑ "Terminology (The Java Tutorials)". Oracle. Retrieved 25 March 2018.
- ↑ Jump up to: 8.0 8.1 8.2 8.3 8.4 "Unicode Technical Report #17: Unicode Character Encoding Model". 11 November 2008. Retrieved 8 August 2009.
- ↑ Shawn Steele (15 March 2005). "What's the difference between an Encoding, Code Page, Character Set and Unicode?". Microsoft Docs.
- ↑ "Processing database information using Unicode, a case study". Archived from the original on 17 June 2006.
- ↑ Constable, Peter (13 June 2001). "Character set encoding basics". Implementing Writing Systems: An introduction. SIL International. Archived from the original on 5 May 2013. Retrieved 19 March 2010.
- ↑ convert encoding.py on GitHub
- ↑ "Decodeh – heuristically decode a string or text file". Archived from the original on 8 January 2008.
- ↑ "CharsetMove – Simple Tool for Transcoding Filenames".
- ↑ "Convmv – converts filenames from one encoding to another".
- ↑ "Extremely Naive Charset Analyser". Archived from the original on 4 December 2010. Retrieved 11 March 2008.
- ↑ recode on GitHub
- ↑ "Utrac Homepage".
- ↑ "Encoding.Convert Method". Microsoft .NET Framework Class Library.
- ↑ "MultiByteToWideChar/WideCharToMultiByte – Convert from ANSI to Unicode & Unicode to ANSI". Microsoft Support.
- ↑ "Kalytta's Character Set Converter".
- ↑ "Enca binary compiled for 32 bit Windows". Archived from the original on 15 March 2012. Retrieved 31 March 2011.
अग्रिम पठन
- Mackenzie, Charles E. (1980). Coded Character Sets, History and Development. ISBN 978-0-201-14460-4. LCCN 77-90165.
{{cite book}}
:|work=
ignored (help)
बाहरी संबंध

- Character sets registered by Internet Assigned Nयुmबीईrs Aयुthority (IANA)
- Characters and encodings, by Jयुkka Korpela
- युnicode Technical Report #17: Character Encoding Model
- Decimal, Hexadecimal Character Codes in HTML युnicode – Encoding converter
- The Absolयुte Minimयुm Every Soएफtware Developer Absolयुtely, Positively Mयुएसt Know Aboयुt युnicode and Character Sets (No Excयुएसes!) by Joel Spolsky (Oct 10, 2003)