कॅरॅक्टर एनकोडिंग


कॅरॅक्टर एनकोडींग(Character encoding) 
'कॅरॅक्टर एनकोडिंग' ह्या संज्ञेची अगदी सोपी व्याख्या म्हणजे कोठल्याही 'कोणत्याही एका मानवी भाषेतील सर्व अक्षरे, चिन्हे यांना काही विशिष्ट क्रमाने ठरवून दिलेले गणितीय आकडे'.

उदाहरणार्थ, कल्पना करा की एका भाषेत ('क', 'ख, 'ग', 'घ, 'ञ') ही फक्त पाच अक्षरे आहेत. समजा आपण ठरवले की ही पाच अक्षरे (२१,२२,२३,२४,२५) ह्या पाच आकड्यांनी ओळखायची. असे केल्यास ह्या काल्पनिक भाषेतील कोणताही शब्द किंवा वाक्य आपल्याला हे पाच आकडे वापरून लिहिता येईल. उदा. 'कखग' हा शब्द '२१२२२३' असा लिहिता येईल व 'खघकञ' हा शब्द '२२२४२१२५' असा लिहिता येईल.
येथे (२१,२२,२३,२४,२५) ह्या आकड्यांच्या समूहाचे ('क', 'ख, 'ग', 'घ, 'ञ') ह्या पाच अक्षरांच्या समूहाशी आपण जे नाते ठरवले त्यास एक "अक्षरसंच" ('character encoding' अथवा 'character set' कॅरॅक्टर सेट) म्हटले जाते.

हेच उदाहरण पुढे वाढवल्यास मराठीतील १२ स्वर आणि ३६ व्यंजन अक्षरे ही एकूण ४८ आकड्यांनी ओळखता येतील. असे केल्यास हा नवीन 'character set' एकूण ४८ अक्षरांना आकड्यांचे स्वरूप देईल.

पण असे आकडे ठरवण्याची गरज 

असे करण्याचे एकच कारण आहे व ते म्हणजे संगणकास कोणत्याही भाषेचे ज्ञान नसते. संगणकावर साठवलेली सर्व माहिती ही केवळ आकड्यांच्या स्वरूपात साठवलेली असते. त्याचप्रमाणे संगणकास समजणारी सर्व आज्ञावली हीदेखील आकड्यांच्याच स्वरूपात साठवली जाते. 
संगणकाची ही रचना लक्षात घेतली की 'character encoding' अथवा 'character set'चे महत्त्व लक्षात येईल. संगणकास भाषा वा अक्षरे समजत नसल्यामुळे, सर्व अक्षरे, चिन्हे (उदा प्रश्नचिन्ह, अल्पविराम इत्यादी) हीदेखील केवळ आकड्यांच्याच स्वरूपात साठवावी लागतात. त्यामुळे कोणताही मजकूर साठवताना कोणत्यातरी एका कॅरॅक्टर एनकोडिंगच्या साहाय्याने तो आकड्यांच्या स्वरूपात साठवला जातो. तो मजकूर पुन्हा दाखवताना (उदा. कॉंप्युटर मॉनिटरवर दाखविताना ), त्याच आकड्यांवरून अक्षरे ठरवून दाखवली जातात.

अश्या प्रकारचा एक 'character set' आहे, जो जगातल्या सध्याच्या बहुतांश संगणकांतील बहुतेक सर्व सॉफ्टवेरस् मध्ये वापरला जातो - तो म्हणजे ASCII (American Standard Code for Information Interchange ह्या नावाचे लघुरूप) (उच्चार : आस्की अथवा ऍस्की). ASCII ह्या सेटमध्ये रोमन लिपीतील सर्व अक्षरे, अंक, व्याकरण चिन्हे (पूर्णविराम, प्रश्नचिन्ह, उद्गारचिन्ह इत्यादी) , तसेच इतर काही चिन्हे ह्यांच्यासाठी एकूण १२८ आकड्यांचा क्रम ठरवला गेला आहे. A ते Z ही अक्षरे ६५ ते ९० ह्या आकड्यांनी तर a ते z ही अक्षरे ९७ ते १२२ ह्या आकड्यांनी ओळखली जातात. अक्षरेच नव्हे तर अंकदेखील काही विशिष्ट आकड्यांनी दर्शविले जातात. 0 ते 9 हे अंक ASCII मध्ये ४८ ते ५७ असे साठवले जातात. दोन शब्दांमधली रिकामी जागा दर्शविण्यासाठी ३२ हा आकडा आहे.
उदा. cat हा शब्द ASCII मध्ये ९९ ९७ ११६ ह्या तीन आकड्यांत साठवला जातो; तर Cat हा शब्द ६७ ९७ ११६ असा साठवला जातो. 'Windows 95' हा मजकूर '८७ १०५ ११० १०० १११ ११९ ११५ ३२ ५७ ५३' असा होईल व संगणकात साठवला जाईल.

ASCII प्रमाणे इतर अनेक कॅरॅक्टर सेटस् प्रचलित असून बहुतांश देशांमध्ये त्या देशाच्या भाषेप्रमाणे कोणतातरी एक 'character set' प्रमाण मानला जातो. भारतीय भाषांकरिता प्रमाण कॅरॅक्टर सेट इस्की (ISCII) हा आहे. (हा भारतीय सरकारद्वारे साधारणतः १९८० च्या दशकात विकसीत करण्यात आला)

कॉंप्युटरवर ASCII वापरत असल्यास दुसरं एखादं character encoding वापरता येईल का ? 
आपण एक गोष्ट लक्षात ठेवली पाहिजे की ASCII जरी अतिशय प्रचलीत असला तरी संगणकाच्या मूळ बांधणीत ASCII साठी काहीही विशेष रचना केलेली नसते. तसेच कोणत्याही संगणकावर केवळ एकच character encoding वापरणे भाग असते असेही नाही. एकाच संगणकावर अनेक विविध character encoding वापरले जाऊ शकतात - नव्हे, हल्लीच्या बहुतांश संगणकात ही सोय असतेच. शेवटी कुठलाही मजकूर साठवताना, त्या मजकूराच्या भाषेनुसार character encodingची निवड करावी लागते.
उदा. समजा माझ्या कॉंप्युटरवर ASCII व ISCII हे दोन्ही character encoding उपलब्ध असल्यास मी इंग्लिश व मराठी ह्या भाषांमध्ये मजकूर साठवू शकतो.
मात्र, कोठल्याही कॉंप्युटरवर तुम्हाला मराठीत टायपिंग करता येईल की नाही, तसेच मराठीतला मजकूर वाचता येईल की नाही हे तुमच्या कॉंप्युटरची ऑपरेटिंग सिस्टीमवर, तुम्ही कोणत्या सॉफ्टवेरमध्ये काम करत आहात व इतर काही गोष्टींवर अवलंबून आहे.
Language keyboard availability

मग फॉंट म्हणजे काय ? फॉंटचा character encoding शी काही संबंध आहे का ? 
हो. फॉंटचा character encoding शी संबंध आहे.

काही प्रगत कॅरॅक्टर सेटस् व ह्या शास्त्रातील प्रगती : 
ASCII हा कॅरॅक्टर सेट मूलतः अमेरिकेत इंग्लिशमध्ये वापरण्यासाठी बनवला गेला होता. जसजसा संगणकांचा वापर व त्याचे उपयोग वाढू लागले तसतश्या ASCIIच्या मर्यादा लक्षात येऊ लागल्या.
काही वेळा एकाच मजकूरात दोन किंवा जास्त भाषांमधील वाक्य वा शब्द असू शकतात. अश्या वेळी त्या सर्व भाषांतील सर्व अक्षरे असलेल्या एखाद्या कॅरॅक्टर सेटची गरज भासते. सध्या असा एक कॅरॅक्टर सेट आहे - यूनिकोड(UNICODE). हा कॅरॅक्टर सेट जागतिक दृष्ट्या प्रमाण मानला जातो.

हेसुद्धा पहा 
संगणक टंक

युनिकोड

मराठी वेबपेज तयार करण्यास मदत करणारे बाह्य दुवे 
खास करून Dynamic Fontsच्या वापरण्याच्या पद्धती बद्दल मार्गदर्शन हे वेबपेज करतात.परंतु हे लक्षात ठेवणे गरजेचे आहे कि Dynamic Fonts वेबपेज वरील माहिती Google सारख्या search engines Indexing आणि search करु शकत नाहीत.
 नितिन सावंत यांनी बनवलेले मराठी की-बोर्ड सॉफ्टवेर
 भाषा इंडिया
 ईंडीक जुम्ला
 देवनागरी
 नॅशनल इंफॉरमॅटीक्‍स सेंटर विदागारातील आवृत्ती

संदर्भ 

संगणकशास्त्र
मराठी व्याकरण