യു.ടി.എഫ്-8
യൂണികോഡിൽ ഉപയോഗിക്കുന്ന ഒരു എൻകോഡിങ്ങ് രീതിയാണ് യു.ടി.എഫ്-8 (UTF-8)(8-bit UCS/Unicode Transformation Format). ഇലക്ട്രോണിക് ആശയവിനിമയത്തിനായി വേരിയബിൾ-വിഡ്ത് ക്യാരക്ടർ എൻകോഡിംഗാണ് യുടിഎഫ്-8 ഉപയോഗിക്കുന്നത്. യൂണിക്കോഡ് സ്റ്റാൻഡേർഡ് നിർവചിച്ചിരിക്കുന്നത്, യൂണിക്കോഡ് (അല്ലെങ്കിൽ യൂണിവേഴ്സൽ കോഡെഡ് ക്യാരക്ടർ സെറ്റ്) ട്രാൻസ്ഫോർമേഷൻ ഫോർമാറ്റിൽ നിന്നാണ് ഈ പേര് ഉരുത്തിരിഞ്ഞത് - 8-ബിറ്റ്.[1]
Standard | Unicode Standard |
---|---|
Classification | Unicode Transformation Format, extended ASCII, variable-width encoding |
Extends | US-ASCII |
Transforms / Encodes | ISO 10646 (Unicode) |
Preceded by | UTF-1 |
ഒന്നോ നാലോ വൺ-ബൈറ്റ് (8-ബിറ്റ്) കോഡ് യൂണിറ്റുകൾ ഉപയോഗിച്ച് യൂണിക്കോഡിലെ 1,112,064[nb 1]ചട്ടമനുസരിച്ചുള്ള ക്യാരക്ടർ കോഡ് പോയിന്റുകൾ എൻകോഡുചെയ്യാൻ യുടിഎഫ്-8 ന് കഴിയും. കുറഞ്ഞ സംഖ്യാ മൂല്യങ്ങളുള്ള കോഡ് പോയിന്റുകൾ, കുറച്ച് ബൈറ്റുകൾ ഉപയോഗിച്ച് എൻകോഡുചെയ്തു. ആസ്കിയുമായുള്ള ബാക്ക്വേർഡ് കോംപാറ്റിബിളിറ്റിക്കായി ഇത് രൂപകൽപ്പന ചെയ്തിട്ടുണ്ട്: ആസ്കിയുമായി ഒന്നിനോട് യോജിക്കുന്ന യൂണിക്കോഡിന്റെ ആദ്യ 128 പ്രതീകങ്ങൾ ആസ്കിയുടെ അതേ ബൈനറി മൂല്യമുള്ള ഒരൊറ്റ ബൈറ്റ് ഉപയോഗിച്ച് എൻകോഡുചെയ്യാൻ കഴിഞ്ഞു.
ഈ എൻകോഡിങ്ങ് രീതിയനുസരിച്ച് യൂണികോഡിലുള്ള ഏതു ചിഹ്നങ്ങളെയും സൂചിപ്പിക്കുവാൻ കഴിയും മാത്രവുമല്ല ഇത് ആസ്കി (ASCII) എൻകോഡിങ്ങിനെ ഉൾക്കൊള്ളുന്നുമുണ്ട്. അതിനാൽ തന്നെ കമ്പ്യൂട്ടർ വിവരസാങ്കേതിക രംഗത്ത് നിലവിൽ ഏറ്റവും സ്വീകാര്യമായ എൻകോഡിങ്ങ് രീതിയായി ഇത് മാറി. ഇ-മെയിൽ, വെബ് താളുകൾ,[2] തുടങ്ങി ക്യാരക്ടറുകൾ ശേഖരിക്കുകയും കൈമാറ്റം ചെയ്യുകയും ചെയ്യുന്ന മേഖലകളിൽ ഇത് ഉപയോഗിക്കപ്പെടുന്നു.
യു.ടി.എഫ്-8 ൽ ഓരോ ചിഹ്നത്തെയും ഒന്നും മുതൽ നാല് ഒക്ടെറ്റുകളിലായി (Octet, എട്ട് ബിറ്റുകളുടെ നിര അതായത് ഒരു ബൈറ്റ്) രേഖപ്പെടുത്തപ്പെടുന്നു. 128 യു.എസ്-ആസ്കി (US-ASCII) ക്യാരക്ടറുകൾ മാത്രമാണ് ഒരു ബൈറ്റിലായി രേഖപ്പെടുത്തപ്പെടുന്നത്. മറ്റുള്ളവ രണ്ട് മുതൽ നാല് ബൈറ്റുകളിലായി വിന്യസിക്കപ്പെടുന്ന. ഈ രീതിയിൽ മലയാളം ക്യാരക്ടറുകൾ രേഖപ്പെടുത്തുവാൻ മൂന്ന് ബൈറ്റുകൾ വീതം ആവശ്യമാണ്.
വിവരണം
തിരുത്തുകയൂണികോഡ് മാനദണ്ഡത്തിൽ ഒരോ ക്യാരക്ടറിനും 32 ബിറ്റ് നീളമുള്ള കോഡ് നൽകിയിരിക്കുന്നു. ഇതിൽ 0D00 മുതൽ 0D7F വരെയുള്ള കോഡുകളാണ് മലയാളത്തിന് അനുവദിച്ചിരിക്കുന്നത്.
ആദ്യത്തെ 128 സ്ഥാനങ്ങൾ ആസ്കി ക്യാരക്ടറുകൾക്കും നൽകിയിരിക്കുന്നു, ഇതിന് താഴ്ന്ന സ്ഥാനത്തുള്ള 7 ബിറ്റുകൾ മാത്രം മതിയാകും. ഈ അവസരത്തിൽ ഒരു കോഡ് ഒരു ബൈറ്റായി എൻകോഡ് ചെയ്യുന്നു ഈ അവസരത്തിൽ ഏറ്റവും ഉയർന്ന സ്ഥാനത്തുള്ള ഒരു ബിറ്റ് 0 ആയിരിക്കും. പട്ടികയിൽ ആദ്യത്തെ വരിയിൽ ഇത് കാണിച്ചിരിക്കുന്നു. U+0000 മുതൽ U+007F വരെയുള്ള ക്യാരക്ടറുകളാണ് ഇവ. അതിനാൽ ആസ്കി ക്യാരക്ടറുകളെല്ലാം ഒരു ബൈറ്റിൽ ഉൾകൊള്ളിക്കുന്നു.
താഴ്ന്ന ഏഴ് ബിറ്റുകൾക്ക് പുറമേ ശേഷം 11 സ്ഥാനം വരെയുള്ള ബിറ്റുകൾ ഉപയോഗിക്കുന്ന U+0080 മുതൽ U+07FF വരെയുള്ള കോഡുകൾ രണ്ട ബൈറ്റുകളിലായി വിന്യസിക്കപ്പെടുന്നു. ആദ്യത്തെ ബൈറ്റിൽ ആറ് താഴ്ന്ന സ്ഥാനങ്ങളിലും രണ്ടാമത്തെ ബൈറ്റിൽ താഴന്ന അഞ്ച് സ്ഥാനങ്ങളിലും ഇവ ചേർക്കുന്നു. പട്ടികയിൽ രണ്ടാമത്തെ വരിയിൽ ഇത് കാണിച്ചിരിക്കുന്നു. ഇതേ പ്രകാരം U+0800 മുതൽ U+FFFF വരെയുള്ളവ മൂന്ന് ബൈറ്റുകളിലായും അതിന് ശേഷമുള്ളവ നാല് ബൈറ്റുകളിലായും വിന്യസിക്കപ്പെടുന്നു. പട്ടിക ശ്രദ്ധിക്കുക.
Unicode | Byte1 | Byte2 | Byte3 | Byte4 | example |
---|---|---|---|---|---|
U+0000-U+007F
|
0xxxxxxx
|
'$' U+0024 → 00100100 → 0x24
| |||
U+0080-U+07FF
|
110yyyxx
|
10xxxxxx
|
'¢' U+00A2 → 11000010,10100010 → 0xC2,0xA2
| ||
U+0800-U+FFFF
|
1110yyyy
|
10yyyyxx
|
10xxxxxx
|
'€' U+20AC → 11100010,10000010,10101100 → 0xE2,0x82,0xAC
| |
U+10000-U+10FFFF
|
11110zzz
|
10zzyyyy
|
10yyyyxx
|
10xxxxxx
|
U+10ABCD → 11110100,10001010,10101111,10001101 → 0xF4,0x8A,0xAF,0x8D
|
ആദ്യത്തെ 128 ആസ്കി ക്യാരക്ടറുകൾ അതേപടി ചേർക്കുന്നതിനാൽ എല്ലാ ആസ്കി ലേഖനങ്ങളും യു.ടി.എഫ്-8 എൻകോഡിങ്ങുമായി പൊരുത്തമുള്ളവയായിരിക്കും. യു.ടി.എഫ്-8 എൻകോഡ് ചെയ്യപ്പെട്ട ലേഖനം തിരിച്ചു ഡീകോഡ് ചേയ്യുന്ന വളരെ ലളിതമാണ്. ഒരു ബൈറ്റിന്റെ ഉയർന്ന ബിറ്റ് 0 ആണെങ്കിൽ അത് ഒരു ബൈറ്റ് മാത്രമുള്ള ക്യാരക്ടർ (ഒരു ആസ്കി ക്യാരക്ടർ) ആയിരിക്കും. ആദ്യത്തെ ഉയർന്ന രണ്ട് ബിറ്റുകളുടേയും മൂല്യം 1 ആണെങ്കിൽ രണ്ട് ബൈറ്റുകളിലായി എൻകോഡ് ചെയ്യപ്പെട്ടതാണ് അതിനാൽ അടുത്ത ബൈറ്റ്കൂടി വായിക്കേണ്ടതുണ്ട്. ഇതേ പ്രകാരം ഉയർന്ന മൂന്നോ നാലോ ബിറ്റുകളുടെ മൂല്യം 1 ആണെങ്കിൽ യഥാക്രമം അവ മൂന്ന്, നാല് ബൈറ്റുകളിലായി എൻകോഡ് ചെയ്യപ്പെട്ടതാണ്.
അവലംബം
തിരുത്തുക- ↑ "Chapter 2. General Structure". The Unicode Standard (6.0 ed.). Mountain View, California, US: The Unicode Consortium. ISBN 978-1-936213-01-6.
- ↑ "Moving to Unicode 5.1". Official Google Blog. May 5 2008. Retrieved 2008-05-08.
{{cite web}}
: Check date values in:|date=
(help)