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

Posted on ഒക്ടോബര്‍ 18, 2007. Filed under: Bloggers Only, Malayalam |

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

ഒരു സാധാരണ രീതി ഇതാണ്, 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 ല്‍ അവ ഒതുങ്ങില്ല.

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

Make a Comment

ഒരു മറുപടി കൊടുക്കുക

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / മാറ്റുക )

Twitter picture

You are commenting using your Twitter account. Log Out / മാറ്റുക )

Facebook photo

You are commenting using your Facebook account. Log Out / മാറ്റുക )

Google+ photo

You are commenting using your Google+ account. Log Out / മാറ്റുക )

Liked it here?
Why not try sites on the blogroll...

%d bloggers like this: