യൂണികോഡ്

ലോകഭാഷകളിലെ ലിപികളുടെ കമ്പ്യൂട്ടറുകളിലുള്ള ആവിഷ്കാരത്തിനായി നിർമ്മിച്ചിരിക്കുന്ന ഒരു മാനദണ്ഡമാണ്  *യൂണികോഡ്* അഥവാ **സർവ്വാക്ഷരസംഹിത**.  ഇംഗ്ലീഷ് അറിയുന്നവർക്കുള്ളതാണ് കമ്പ്യൂട്ടറെന്ന അബദ്ധധാരണ പൊളിച്ചെഴുതിയതാണ് യൂണീകോഡിന്റെ നേട്ടം. പുതിയ പല ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റങ്ങളും, എക്സ്.എം.എൽ., ജാവാ തുടങ്ങിയ സാങ്കേതിക വിദ്യകളും യൂണീകോഡിനെ പിന്തുണക്കുന്നുണ്ട്.
യൂണികോഡ് കൺസോർഷ്യം എന്ന ലാഭരഹിത സംഘടനയാണ് യൂണീകോഡിന്റെ നിർമ്മാണത്തിനു പിന്നിൽ. ലോകത്ത് നിലനിൽക്കുന്ന എല്ലാഭാഷകളേയും ഒരുമിച്ചവതരിപ്പിക്കുക എന്നതാണ് ഈ സംഘടനയുടെ പ്രഖ്യാപിത ലക്ഷ്യം. എല്ലാ പ്രാദേശിക ഭാഷാ ഉപയോക്താക്കൾക്കും അവരവരുടെ ഭാഷകളിൽ കമ്പ്യൂട്ടർ ഉപയോഗിക്കാനുള്ള അവസരം സൃഷ്ടിച്ചതാണ് യൂണീകോഡിന് പിന്നിൽ പ്രവർത്തിക്കുന്ന യൂണീകോഡ് കൺ‌സോർഷ്യത്തിന്റെ സംഭാവന. ഈ സംഘടനയുടെ ഔദ്യോഗിക സൈറ്റാണ് യൂണീകോഡ് ഡോട്ട് ഓർഗ്.  
കാലാകാലങ്ങളിൽ യൂണിക്കോഡിനെ യൂണികോഡ് കൺസോർഷ്യം പരിഷ്ക്കരിക്കാറുണ്ട്. പുതിയ അക്ഷരങ്ങൾ കൂട്ടിച്ചേർത്തും നിലവിലുള്ള പ്രശ്നങ്ങൾ പരിഹരിക്കുകയുമാണ് അവർ ചെയ്തുവരുന്നത്.
2022 ഡിസംബർ അനുസരിച്ച് യുണികോഡിൻറെ പതിപ്പ് (Version)15.0.0 ആണ്. ഇതിൽ ലോകത്താകെ പ്രചാരത്തിലുള്ള 161 വ്യത്യസ്ത ഭാഷകളാലായി 1,49,186 അക്ഷരങ്ങളും, 3664 ഇമോജികളും 4,193 CJK (ചൈനീസ്, ജപ്പാനീസ്, കൊറിയൻ) ലിപികളും ഉൾപ്പെടുത്തിയിട്ടുണ്ട്.

## ചരിത്രം

അക്ഷരങ്ങളും അക്കങ്ങളും ചിഹ്നങ്ങളും പൂജ്യത്തിന്റേയും ഒന്നിന്റേയും കൂട്ടങ്ങളായി മാറ്റിയാണ് കമ്പ്യൂട്ടറിൽ ശേഖരിച്ചു വയ്ക്കുന്നത്. ഇങ്ങനെ ശേഖരിക്കുന്നതിന് ഓരോന്നിനും അതി‍ന്റേതായ കോഡുകൾ ഉണ്ടായിരിക്കണം. ഇപ്പോൾ ഇത് കൂടുതലായും ASCII (അമേരിക്കൻ സ്റ്റാൻഡാർഡ് കോഡ് ഫോർ ഇൻഫർമേഷൻ ഇന്റർചേഞ്ച്) കോഡുപയോഗിച്ചാണ് നിർവ്വഹിച്ചു വരുന്നത്. ഇതുപയോഗിച്ചുണ്ടാക്കാവുന്ന അക്ഷരാദികളുടെ എണ്ണം (256) പരിമിതമായതുകൊണ്ട് രണ്ടു ഭാഷകളിലെ അക്ഷരങ്ങളേ ഒരേ സമയം ഉപയോഗിക്കാൻ സാധിക്കുകയുള്ളു. ഇതില്‌ ആദ്യത്തെ 128 എണ്ണം ഇംഗ്ളീഷിനും അടുത്ത 128 എണ്ണം വേറെ ഏതെങ്കിലും ഭാഷക്കും ഉപയോഗിക്കാം.

ലോകമാസകലം കമ്പ്യുട്ടറുകൾ വരുകയും അവയെയെല്ലാം ബന്ധിപ്പിക്കുന്ന ഇന്റർനെറ്റ് സംജാതമാകുകയും ചെയ്തതോടെ ലോകഭാഷകൾ എല്ലാം അടങ്ങുന്ന ഒരു കോഡിംഗ് സിസ്റ്റം ആവശ്യമായിവന്നു. ഇതിലേക്കായി ഇന്റർനാഷണൽ സ്റ്റാൻഡാർഡ് ISO/IEC 106461, ഒരു പദ്ധതി തയ്യാറാക്കി. ഈ പദ്ധതിയിൽ ഉൾപ്പെടുത്തിയ എല്ലാ അക്ഷരാദികളേയും സ്വാംശീകരിച്ചുകൊണ്ട് കുറച്ചു കൂടി ബൃഹത്തായതും ലോകഭാഷകളാകമാനം ഉൾക്കൊള്ളാനാവുന്നതും ഭാവി വികസനങ്ങൾക്ക് പഴുതുള്ളതുമായ ഒരു കോഡിംഗ് സമ്പ്രദായം വേണമെന്ന് കമ്പ്യൂട്ടർ ലോകത്തിനു തോന്നി. അങ്ങനെയാണ് കമ്പ്യൂട്ടർ കോർപ്പറേഷനുകളും സോഫ്റ്റ്‌വേർ ഡാറ്റാബേസ് കച്ചവടക്കാരും, അന്താരാഷ്ട്ര ഏജൻസികളും ഉപയോക്താക്കളും ചേർന്ന് 1991-ൽ ദി യുണിക്കോഡ് കണ്‌സോർഷ്യം എന്ന ഒരു സംഘടന രൂപവത്കരിച്ചത്. ഇന്ത്യാ ഗവൺമെന്റിന്റെ  ഇൻഫർമേഷൻ ടെക്നോളജി ഡിപ്പാർട്ട്മെന്റ് ഇതിലെ ഒരു മുഴുവൻ സമയ അംഗമാണ് .

ലോകഭാഷകളെല്ലാം പിന്തുണയ്ക്കുന്ന ഒരു ഇന്റർ‌നാഷണൽ സ്റ്റാൻഡേർഡ് വികസിപ്പിച്ചെടുക്കാനും ഇതിനായുള്ള വിവിധതലങ്ങളിലെ പ്രവർത്തനങ്ങൾ ഏകോപിപ്പിക്കാനും ഉണ്ടാക്കിയ സംഘടനയാണ് യൂണീകോഡ് കൺ‌സോർഷ്യം. ഈ സംഘടനയുടെ കാര്യപ്രവർത്തനങ്ങൾ ജനങ്ങളെ അറിയിക്കുന്നതിനായാണ് യൂണീകോഡ് ഡോട്ട് ഓർഗ് എന്ന സൈറ്റ് നിലവിൽ വന്നത്.
 
ഇന്റർനാഷണൽ സ്റ്റാന്റേർഡ് ഓർഗനൈസേഷനും യുണിക്കോഡും ചേർന്ന്  1992ല്‌ യൂണിക്കോഡ് വേർഷന്‌ 1.0 പുറത്തിറക്കി. ഇതു പരിഷ്കരിച്ച് 2.0യും 2000 ഫെബ്രുവരിയിൽ 3.0യും പുറത്തിറങ്ങി. ISO 10646 -ൽ 32 ബിറ്റുപയോഗിച്ചിരുന്നിടത്ത് 16 ബിറ്റു മാത്രമേ യൂണിക്കോഡ് ഉപയോഗിക്കുന്നുള്ളൂ. അതായത് 16 സ്ഥാനങ്ങളിലായി ഒന്നും പൂജ്യവും നിരത്തി 65536  അക്ഷരാദികളുടെ കോഡുകള്‌ നിർമ്മിക്കാം. ഇവ 500 ഓളം ഭാഷകൾക്കു മതിയാകും. പുരാതന ലിപികളും ഭാവിയിൽ ഉണ്ടാകുന്ന ലിപികളും ഇതിൽ ഉൾക്കൊള്ളിക്കാൻ തക്കവിധത്തിൽ ഇതിനെ വിപുലപ്പെടുത്താനും സാധിക്കുന്നതാണ്‌ . പ്രധാനപ്പെട്ട ലോകഭാഷകൾ മിക്കവാറും എല്ലാം തന്നെ ഉൾപ്പെട്ടുത്തി 49194 അക്ഷരാദികൾക്ക് ഇതിനകം കോഡുകൾ നല്കിക്കഴിഞ്ഞു. ഇതിൽ ചൈനീസും ജാപ്പനീസും ഉൾപ്പെടും. അടുത്തുതന്നെ ബർമീസ്, സിൻഹാളീസ്, സിറിയക് മുതലായ ഭാഷകളും ഇതിന്റെ കീഴിൽ കൊണ്ടു വരുന്നതാണ്.

ആഗോളമായി നടക്കുന്ന സകല ഭാഷാ കമ്പ്യൂട്ടിംഗ് പ്രവർത്തനങ്ങളുടെയും മൂലക്കല്ലാണ് യൂണീകോഡ്. പ്രാദേശിക ഭാഷകളിലേക്ക് വിവിധ സോഫ്റ്റ്‌വെയറുകൾ പ്രാദേശികവൽക്കരിക്കാൻ (ലോക്കലൈസ് ചെയ്യാൻ) ഇതല്ലാതെ മറ്റൊരു ഉത്തരമില്ലതന്നെ.

യൂണിക്കോഡ് ഭാഷയിലെ അക്ഷരങ്ങൾക്ക് കോഡുകൾ നല്‌കിയെങ്കിലും അവ എങ്ങനെ സ്ക്രീനിൽ കാണണമെന്ന് ഹാർഡ്‍വേറും സോഫ്റ്റ്‌വെയറും ഇറക്കുന്നവരാണ് തീരുമാനിക്കുന്നത്. ലോക ഭാഷകൾ ഒരേ സ്ക്രീനിൽ പ്രത്യക്ഷപ്പെടേണ്ടി വരുമ്പോൾ ലോക പ്രശസ്തരായ IBM, മൈക്രോസോഫ്റ്റ്, ഒറാക്കിൾ, ആപ്പിൾ എന്നിത്യാദി വമ്പൻമാരെല്ലാം യൂണിക്കോഡിനെ വാരിപ്പുണരുന്നതിൽ അത്ഭുതപ്പെടാനില്ല. ഇന്റർനെറ്റിന്റെ ലോകവ്യാപകമായ പ്രചാരത്തോടുകൂടി യൂണിക്കോഡും ഒരു ആഗോളലിപികളുടെ കോഡായിമാറിക്കഴിഞ്ഞു. 

9 ഇന്ത്യൻ ഭാഷകൾക്കായി 128 X 9 = 1152 കോഡുകൾ (2304 മുതൽ 3455 വരെ) അലോട്ടുചെയ്തിരിക്കുന്നതിൽ 3328 മുതൽ 3455 വരെയുള്ള 128 എണ്ണം മലയാള ലിപികൾക്കാണ് തന്നിരിക്കുന്നത്.

## യൂണിക്കോഡിനു മുമ്പ്
ഇത്ര നാളും ആംഗലേയമായിരുന്നു കമ്പ്യൂട്ടർ രംഗത്ത് എല്ലാ കാര്യങ്ങൾക്കും ഉപയോഗിച്ചിരുന്നത്. പ്രോഗ്രാമുകളും ,പ്രമാണങ്ങളും, ഇന്റർനെറ്റിലെ വിവിധ ആവശ്യങ്ങൾക്കുമെല്ലാം ഇംഗ്ലീഷാണ് ഉപയോഗിച്ചിരുന്നത്.

അടിസ്ഥാനപരമായി കമ്പ്യൂട്ടറുകൾ സംഖ്യകളാണ് എല്ലാ കാര്യങ്ങൾക്കും ഉപയോഗിക്കുന്നത്. അക്ഷരങ്ങളും, അക്കങ്ങളും, ചിഹ്നങ്ങളുമൊക്കെ സംഖ്യകളായിട്ടാണ് കമ്പ്യൂട്ടർ ശേഖരിച്ചുവക്കുന്നത്. അക്ഷരങ്ങൾ സംഖ്യാരീതിയിലാക്കാൻ വിവിധ എൻകോഡിങ്ങ് രീതികൾ നിലവിലുണ്ട്.  ആസ്‌കി (ASCII), എബ്‌സിഡിക്(EBCDIC), യൂണിക്കോഡ് എന്നിങ്ങനെ വിവിധ എൻകോഡിങ്ങ് രീതികൾ. അക്കങ്ങളും, ഭാഷാചിഹ്നങ്ങളുമൊക്കെ സംഖ്യകളായാണ് കമ്പ്യൂട്ടറിനുള്ളിൽ ഇരിക്കുന്നതെങ്കിലും, ഇത്തരം സംഖ്യകൾ സാധാരണ സംഖ്യകൾ പോലെയല്ല കൈകാര്യം ചെയ്യപ്പെടുന്നത്. 

ആദ്യകാലത്ത് കമ്പ്യൂട്ടറുകൾ കൂടുതലും സംഖ്യാസംബന്ധമായ കണക്കുകൂട്ടലുകൾക്കാണ് കൂടുതലും ഉപയോഗിച്ചിരുന്നത്, എന്നിരുന്നാലും അക്കങ്ങളും അക്ഷരങ്ങളും രേഖപ്പെടുത്തേണ്ട അവസരങ്ങൾ അക്കാലത്തും ഉണ്ടായിരുന്നു. ടൈപ്പ്റൈറ്ററുകളായിരുന്നു ലിഖിതങ്ങളായ പ്രമാണങ്ങളും മറ്റും ഉണ്ടാക്കാൻ അധികം ഉപയോഗിച്ചിരുന്നത്. പതുക്കെ കമ്പ്യൂട്ടറുകൾ ടൈപ്പ്റൈറ്ററുകളെ പിന്തള്ളി. ലിഖിതങ്ങളും അല്ലാത്തതുമായ പ്രമാണങ്ങൾ, ചിത്രങ്ങൾ എന്നിവ സൃഷ്ടിക്കാനുള്ള കമ്പ്യൂട്ടറിന്റെ കഴിവ് വർദ്ധിച്ചു വന്നുകൊണ്ടിരുന്നതാണ് ഇതിനു കാരണം.  അച്ചടിക്കുന്നതിനു മുമ്പ് തിരുത്താനുള്ള സൗകര്യവും കമ്പ്യൂട്ടർ സൃഷ്ടിതമായ പ്രമാണങ്ങൾക്കുണ്ടായിരുന്നു.
പക്ഷേ വളരെ ചുരുക്കം അക്ഷരങ്ങളും , ചിഹ്നങ്ങളും മറ്റുമെ ഉപയോഗിക്കാൻ പറ്റുമായിരുന്നുള്ളൂ. ശരിക്കും പറഞ്ഞാൽ സംഖ്യകളും, സാധാരണ ഉപയോഗിക്കുന്ന ആംഗലേയ അക്ഷരങ്ങളും ചിഹ്നങ്ങളും മാത്രമേ ശരിയായി കമ്പ്യൂട്ടറിൽ പ്രയോഗിക്കാൻ സാധിക്കുമായിരുന്നുള്ളൂ അക്കാലത്ത്. ലോകത്ത് മനുഷ്യർ എഴുതാനും വായിക്കാനും ഉപയോഗിക്കുന്ന പതിനായിരക്കണക്കിനു അക്ഷരങ്ങളും ചിഹ്നങ്ങളും കൈകാര്യം ചെയ്യുവാൻ കമ്പ്യൂട്ടറുകൾക്ക് സാധിച്ചിരുന്നില്ല. എന്നു പറഞ്ഞാൽ വിവിധപ്രദേശങ്ങളിൽ ജീവിക്കുന്ന മനുഷ്യർക്ക് അവരുടെ ഭാഷയിൽ പ്രമാണങ്ങൾ സൃഷ്ടിക്കുകയോ, തിരുത്തുകയോ, മാറ്റിയെഴുതുകയോ, അച്ചടിക്കുകയോ ചെയ്യുക അസാധ്യമായിരുന്നു. ഈ സമസ്യകൾക്കെല്ലാമുള്ള ഒരുത്തരമാണ് യുണിക്കോഡ്.

## എന്തുകൊണ്ട് യുണിക്കോഡ്

കമ്പ്യൂട്ടറിനുള്ളിൽ എല്ലാം സംഖ്യകളാണ്, അപ്പോൾ അക്ഷരങ്ങളും ചിഹ്നങ്ങളുമൊക്കെ കമ്പ്യൂട്ടറിനുള്ളിൽ ശേഖരിക്കണമെങ്കിൽ അവയെ സംഖ്യാരൂപത്തിൽ ആക്കണം. അതിനുള്ള മാർഗ്ഗമാണ് വിവിധ എൻകോഡിങ്ങ് സമ്പ്രദായങ്ങൾ. ( കമ്പ്യൂട്ടറുകൾ ബൈനറി സംഖ്യകളാണ് ആന്തരികപ്രവർത്തനങ്ങൾക്ക് ഉപയോഗിക്കുന്നത്. ബൈനറി സമ്പ്രദായത്തിൽ രണ്ട് അക്കങ്ങളെയുള്ളൂ പൂജ്യവും ഒന്നും, അതിനാൽ ശേഖരിച്ചു വയ്ക്കാൻ എളുപ്പമാണ്, രണ്ട് അക്കങ്ങളേ ഉള്ളുവല്ലോ.) അതാ‍യത് അക്ഷരങ്ങളെ സംഖ്യകളായി രേഖപ്പെടുത്താം.

ഒരു സാധാരണ രീതി ഇതാണ്, 0 തൊട്ട് 255 വരെയുള്ള സംഖ്യകളുപയോഗിക്കുക (ഈ സംഖ്യകളുടെ ബൈനറി രൂപമാണുപയോഗിക്കുന്നത്) അപ്പൊ മൊത്തം 256 അക്ഷരങ്ങൾ രേഖപ്പെടുത്തിവയ്ക്കാൻ സാധിക്കും ഈ രീതിയിൽ. ഒരു ബൈറ്റ് ഉപയോഗിച്ചാണ് ഓരോ അക്ഷരവും രേഖപ്പെടുത്തുന്നത്.  ഒരു ബൈറ്റ് എന്നാൽ 8 ബിറ്റുകളുടെ ഒരു കൂട്ടമാണ്. എട്ടെണ്ണത്തെ സൂചിപ്പിക്കുന്നതിനാൽ ബൈറ്റിന് ഒക്ടറ്റ് എന്നും പറയും.

 ഉദാഹരണത്തിന് പൂജ്യം എന്ന് എഴുതണമെങ്കിൽ ‘ 00000000 ’ എന്നാണ് എഴുതുക
                            ഒന്നിന്  ‘ 00000001 ’ എന്നും
                            രണ്ടിന് ‘ 00000010 ’ എന്നിങ്ങനെ ബൈനറിയിൽ ഒക്ടറ്റ് ആയി എഴുതാം.

എട്ട് ബിറ്റുകൾ ഉപയോഗിച്ച് പരമാവധി 256 അക്ഷരങ്ങൾ മാത്രമേ രേഖപ്പെടുത്തി വക്കാൻ സാധിക്കൂ, കാരണം എട്ടു ബിറ്റുകൾ കൊണ്ട് അടയാളപ്പെടുത്താൻ പറ്റുന്ന ഏറ്റവും വലിയ ബൈനറി സംഖ്യ ഇതാണ് ‘ 11111111 ’ ,   ദശാംശ സംഖ്യാരീതിയിൽ(Decimal numbersystem)  255 ആണിത്. 

ഏതുരീതി ഉപയോഗിച്ചായാലും അക്ഷരങ്ങളെ (characters) ഏതെങ്കിലും ഒരു സംഖ്യ ഉപയോഗിച്ചു രേഖപ്പെടുത്തുന്നതിന് ‘ ക്യാരക്ട്ർ എൻകോഡിങ്ങ് ‘ (character encoding) എന്നു പറയുന്നു, പ്രസ്തുത അക്ഷരങ്ങളുടെ സംഖ്യാരൂപത്തിന് ' ക്യാരക്ട്ർ കോഡ് ' (character code) എന്നും പറയുന്നു. ലോകത്തിൽ കുറെയധികം ക്യാരക്ടർ കോഡുകൾ ഉപയോഗത്തിലുണ്ട്. മിക്ക ക്യാരക്ടർ എൻകോഡിങ് രീതികൾക്കും ഒരു സാമ്യത ഉണ്ട്, 0 മുതൽ 127 വരെ ഉള്ള സംഖ്യകൾ ഒരേ അക്ഷരങ്ങളെയായിരിക്കും അടയാളപ്പെടുത്തുന്നത്. ഈ അക്ഷരങ്ങൾ ആംഗലേയ അക്ഷരമാലയിലെ 26 അക്ഷരങ്ങൾ, അവയുടെ വലിയക്ഷരങ്ങൾ (Capital Letters), 0 തൊട്ട് 9 വരെയുള്ള സംഖ്യകൾ, ചിഹ്നങ്ങൾ എന്നിവയാ‍ണ്. 0 തൊട്ട് 127 വരെയുള്ള സംഖ്യകൾ മാത്രം ഉപയോഗിച്ചുള്ള ക്യാരക്ടർ എൻകോഡിങ്ങ് രീതിക്ക് ആസ്‌കി (എ.സ്.സി.ഐ.ഐ - ASCII) എന്നു പറയുന്നു.

പക്ഷേ ആസ്‌കി ഉപയോഗിച്ച് തൽക്കാലം ആംഗലേയഭാഷമാത്രമേ അടയാളപ്പെടുത്തുവാൻ സാധിക്കൂ, ഉദാഹരണത്തിന് ഫ്രഞ്ചു ഭാഷയിലെ ചില അക്ഷരങ്ങൾ (é , ô) രേഖപ്പെടുത്തുവാനുള്ള വിസ്താരം ആസ്‌കിക്കില്ല. ആ സ്ഥിതിക്ക് 127 നു മുകളിലോട്ട് സംഖ്യകളുള്ള ഒരു എൻകോഡിങ്ങ് രീതി ആവശ്യമാണ് കൂടുതൽ അക്ഷരങ്ങൾ അടയാളപ്പെടുത്തുവാനായി. ഇങ്ങനെ ഒരു സമസ്യ വന്നപ്പോൾ ഉണ്ടാക്കപ്പെട്ട ഒരു ക്യാരക്ടർ എൻകോഡിങ്ങ് രീതിയാണ് ലാറ്റിൻ 1 (Latin 1). ഈ രീതിയിൽ 0 തൊട്ട് 255 വരെയുള്ള സംഖ്യകളുപയോഗിച്ചാണ് എൻകോഡിങ്ങ് ചെയ്യുന്നത്,  0 തൊട്ട് 127 വരെ ആസ്‌കി അക്ഷരങ്ങൾ തന്നെയാണ്, 128 തൊട്ട് 255 വരെയുള്ള സംഖ്യകളുപയോഗിച്ച് ആവശ്യമായ ലാറ്റിൻ അക്ഷരങ്ങളും ചിഹ്നങ്ങളും അടയാളപ്പെടുത്തിയിരിക്കുന്നു. ഇവിടെയും പ്രശ്നങ്ങളുണ്ട് ലാറ്റിൻ 1 ഉപയോഗിച്ച് പടിഞ്ഞാറൻ യൂറോപ്പിയൻ ഭാഷകളായ ആംഗലേയം, ഫ്രെഞ്ച്, സ്പാനിഷ്, ജർമ്മൻ എന്നീ ഭാഷാക്ഷരങ്ങൾ മാത്രമേ രേഖപ്പെടുത്തുവാൻ സാധിച്ചിരുന്നുള്ളൂ. മദ്ധ്യ-കിഴക്കൻ യൂറോപ്പിയൻ പ്രദേശങ്ങളിലെ ഭാഷകൾക്കും, ഗ്രീക്ക്, സിറില്ലിക്, അറബിക്, എന്നീ ഭാഷകൾക്കും വേണ്ടി ലാറ്റിൻ 2 (Latin 2) എന്ന എൻകോഡിങ്ങ് രീതി നിലവിലുണ്ട്. ഏതെങ്കിലും ഒരു ഭാഷ ഉപയോഗിക്കുമ്പോൾ ആ ഭാഷയിലെ അക്ഷരങ്ങളും ചിഹ്നങ്ങളും അടയാളപ്പെടുത്തിയിട്ടുള്ള എൻകോഡിങ്ങ് രീതി നാം തെരഞ്ഞെടുക്കണം. ക്യാരക്ടർ എൻകോഡിങ്ങ് രീതികൾ ആവശ്യമനുസരിച്ച് മാറ്റുവാനുള്ള സംവിധാനം മിക്ക സോഫ്റ്റ്വെയറുകളിലും ഉണ്ട്. 

പക്ഷേ പ്രശ്നം ഉണ്ടാവുക ഒരേ സമയത്ത് വിവിധ ഭാഷകൾ ഉപയോഗിക്കേണ്ടി വരുമ്പോളാണ്. ഉദാഹരണത്തിന് ഫ്രഞ്ചും ഗ്രീക്കും ഒരു സ്ഥലത്ത്  വേണമെന്നു കരുതുക, ഫ്രെഞ്ചിനെ പിന്താങ്ങുന്ന എൻകോഡിങ്ങ് രീതി ലാറ്റിൻ 1 ആണ് എന്നാൽ ഗ്രീക്ക് അക്ഷരങ്ങൾ ലാറ്റിൻ 2 എൻകോഡിങ്ങിലേ കാണുകയുള്ളൂ. ഒരേ പ്രമാണത്തിൽ രണ്ട് എൻകോഡിങ്ങ് രീതികൾ ഉപയോഗിക്കാൻ സാധ്യമല്ല, അപ്പോൾ പിന്നെ 0 തൊട്ട് 255 വരെയുള്ള സംഖ്യകൾ ഉപയോഗിച്ച് വിവിധ ഭാഷകൾക്ക് വേണ്ടി വ്യത്യസ്ത എൻകോഡിങ്ങ് രീതികൾ വികസിപ്പിക്കുന്നത് ശാ‍ശ്വതമല്ല എന്നു വേണം പറയാൻ. 

മറ്റൊരു പ്രശ്നം കൂടിയുണ്ട് കണക്കിലെടുക്കാൻ, ചൈനീസ്, ജാപ്പനീസ് പോലുള്ള ഭാഷകളിലുള്ള അക്ഷരങ്ങളുടെ എണ്ണം വളരെക്കൂടുതലാണ്, 256 ൽ അവ ഒതുങ്ങില്ല. 

ഈ പ്രശ്നങ്ങൾക്കുള്ള ഒരു പോംവഴി എല്ലാഭാഷകളിലേയും ഓരോ അക്ഷരവും ചിഹ്നവും, അനന്യമായ ഒരു സംഖ്യയാൽ അടയാളപ്പെടുത്താൻ പറ്റിയ ഒരു എൻകോഡിങ്ങ് രീതി വികസിപ്പിക്കുകയാണ്. ഈ സംഖ്യ ഏതെങ്കിലും ഭാഷയെയോ, ഫോണ്ടിനെയോ, സോഫ്റ്റ്വെയറിനെയോ, ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റത്തെയോ, ഉപകരണത്തെയോ അടിസ്ഥാനപ്പെടുത്തിയുള്ളതാവില്ല. ഇതൊരു സാർവത്രികമായ സംഖ്യയായിരിക്കും. ലോകത്തിൽ ഇപ്പോൾ നിലവിലുള്ള എല്ലാ ഭാഷകളും ഉൾക്കൊള്ളുന്നതും, അവയുടെ ഭാവിയിൽ വരാവുന്ന എല്ലാ ആവശ്യങ്ങൾക്കും ഉതകുന്നതുമായിരിക്കണം ഇത്. ഈ പറഞ്ഞപ്രകാരമുള്ള ഒരു എൻകോഡിങ്ങ് രീതിയാ‍ണ് യുണിക്കോഡ്.

## മലയാളലിപി യുണീക്കോഡിൽ
മലയാളഅക്ഷരങ്ങൾ യുണീക്കോഡിൽ സ്ഥാനം പിടിക്കുന്നത് ജൂൺ 1993-ൽ വെർഷൻ 1.1-ൽ ആണ്. ISCII എന്ന ഇന്ത്യൻ എൻകോഡിംഗ് സ്റ്റാന്റേഡിനെ യുണീക്കോഡിലേയ്ക്ക് പകർത്തുകയാണ് അന്നുണ്ടായത്.

മലയാള ഭാഷ കംപ്യൂട്ടറിൽ ഉപയോഗിക്കുന്നുണ്ടായിരുന്നെങ്കിലും ലിപിവ്യവസ്ഥകളിൽ പൊതുമാനദണ്ഡം ഇല്ലായിരുന്നു. അതിനാൽ ഓരോ കംപ്യൂട്ടറിലും അതിൻറെ വ്യവസ്ഥയും ഫോണ്ടും അനുസരിച്ചുമാത്രമേ മലയാളം ഉപയോഗിക്കാൻ കഴിഞ്ഞിരുന്നുള്ളൂ. മലയാളം ഇന്റർനെറ്റിൽ വ്യാപിക്കാൻ ഇതു തടസ്സമായി. ഈ പരിമിതിയെ അതിജീവിക്കാൻ ലിപിവ്യവസ്ഥയിൽ ഒരു പൊതുമാനദണ്ഡം ആവശ്യമായി വന്നു. ഇതിനായി ഭാഷാസ്നേഹികളുടെ കൂട്ടായ പരിശ്രമഫലമായാണ് മലയാളം യൂണികോഡ് രൂപം കൊണ്ടത്. 
2004ൽആണ് മലയാളം യൂണികോഡ് എന്ന ഏകീകൃതലിപിവ്യവസ്ഥ നിലവിൽ വന്നത്. ഇതോടെ ലോകത്തെവിടെനിന്നും ഇൻറർനെറ്റില് മലയാളം പോസ്റ്റുചെയ്യാനും വായിക്കാനും സാദ്ധ്യമാവുന്ന അവസ്ഥ നിലവിൽവന്നു. വിവരസാങ്കേതികരംഗത്തും സാഹിത്യരംഗത്തും മലയാളത്തിൽ ഒരു കുതിച്ചുചാട്ടത്തിനുതന്നെ ഇതു കാരണമായി.

അതിനുശേഷം, മാർച്ച് 2008-ൽ വെർഷൻ 5.1-ൽ, ഋ, ഌ, എന്നിവയുടെയും അവയുടെ ദീർഘങ്ങളുടേയും ചിഹ്നങ്ങളും, ൿ ഉൾപ്പെടെയുള്ള മലയാളം ചില്ലക്ഷരങ്ങളും, പ്രശ്ലേഷവും, പ്രാചീനസംഖ്യാചിഹ്നങ്ങളും ചേർക്കുകയുണ്ടായി. രണ്ടുകൊല്ലത്തിനുശേഷം, ഒക്ടോബർ 2010-ൽ കുത്തിട്ടെഴുതുന്ന ർ-എന്ന ചില്ലും ഏ.ആർ.രാജരാജവർമ്മ ഉപയോഗിച്ചിരുന്ന 'റ്റ' എന്നതിന്റെ പകുതിയും, 'നന'-എന്നതിലെ രണ്ടാമത്തെ ന-യും യുണീക്കോഡിലെത്തി. 'ഈ' എന്നതിന്റെ പ്രാചീനരൂപവും എൻകോഡിംഗിന്റെ പാതയിലാണ്. 

## യൂണീകോഡ് കൺ‌സോർഷ്യം
യൂണീകോഡ് കൺ‌സോർഷ്യത്തിന്റെ പ്രവർത്തനങ്ങൾ സുതാര്യമാണ്. ഇതറിയാൻ താൽ‌പര്യമുള്ള സംഘടനകൾക്കും വ്യക്തികൾക്കും യൂണീകോഡ് ഡോട്ട് ഓർഗ് സന്ദർശിക്കുകയും ചർച്ചകളിൽ പങ്കെടുക്കുകയും ചെയ്യാം. യൂണീകോഡിന്റെ ചരിത്രം തൊട്ട് ഭാഷാ കമ്പ്യൂട്ടിംഗിൽ താൽ‌പര്യമുള്ളവരെ സഹായിക്കുന്നതിനുള്ള വിവരങ്ങൾ വരെ ഇതിലുണ്ട്. ചുരുക്കത്തിൽ ഭാഷാ കമ്പ്യൂട്ടിംഗ് മേഖലയിൽ എന്തെങ്കിലും ചെയ്യാൻ ആഗ്രഹമുള്ളവർക്ക് ഒഴിച്ചുകൂടാനാവാത്ത സൈറ്റാണ് ഇത്.

## അവലംബം

വർഗ്ഗം:യൂണികോഡ്

വർഗ്ഗം:യൂണികോഡ്