Юникод

Аз Википедиа
Ҷаҳиш ба: новбари, Ҷустуҷӯи
Unicode Consortium

Юнико́д, ёки Унико́д (англисӣ: Unicode) — стандарти кодгузории рамзҳо мебошад, ки аломатҳоро қариб ба ҳаммаи алифбоҳои забонҳои дунё тасвир менамояд.

Стандарт дар соли 1991 аз тарафи ширкати «Консортсиум Юникод» (англисӣ: Unicode Consortium), пешниҳод шуда буд.Истифодаи ин стандарт ба имкон медиҳад, ки миқдори зиёди рамзҳоро аз хатҳои гуногун кодгузорӣ намоем: дар ҳуҷҷатҳои Unicode метавонанд иероглифи чинӣ , аломатҳои математикӣ,ҳарфҳои алифбои юнонӣ, лотинӣ ва кириллӣ якҷоя биёянд, дар ин ҳолат саҳифаи кодӣ бекор карда мешавад.

Стандарт аз ду қисми асосӣ иборат мебошад: маҷмӯи универсалии рамзҳо (UCS, Universal Character Set) ва оилаи кодгузории (UTF, Unicode Transformation Format).

Кодҳо дар стандарти Unicode ба якчанд соҳа тақсим шудаанд. Соҳаи кодҳои аз U+0000 то U+007F рамзҳои маҷмӯи ASCIIро бо кодҳои мувофиқашон дар бар мегиранд. Баъд аз он соҳаи ҳарфҳои алифбоҳои гуногун,аломатҳои китобат, рамзҳои техникӣ меоянд. Як қисми кодҳо барои дар оянда истифода шудан, нигоҳ дошта шудаанд. Ҳарфҳои алифбои крилик аз U+0400 то U+052F доранд (нигаред Кириллӣ дар Юникод).

Фазои кодӣ[вироиш]

Ҳарчанд ки тарзи навишти UTF-8 ва UTF-32 имкон медиҳанд, ки то 231 (2,147,483,648) мавқеи кодӣ истифода шавад , вале барои UTF-16 мувофиқ будан танҳо 220+216 (1,114,112) тои он истифода мешавад. Ва ин хеле зиёд ҳам мебошад- дар айни ҳол (дар версияи 5.0) тақрибан зиёда аз 99,000 мавқеи кодӣ истифода мешаванд.

Фазои кодӣ ба 17 ҷузъи 216 (65536) рамз дошта ҷудо шудааст. Ҷузъи нулӣ асосӣ буда, дар он алифбоҳои маъмултарин ҷой шудаанд. Ҷузъи аввал асосан барои хатҳои таърихӣ истифода мешаванд. Ҷузъҳои 16 ва 17 барои истифодаи шахсӣ ҷудо шудаанд.

Барои ифодаи рамзҳои Unicode намуди «U+xxxx» (барои кодҳои 0...FFFF) ёки «U+xxxxx» (барои кодҳои 10000...FFFFF) ёки «U+xxxxxx» (барои кодҳои 100000...10FFFF) истифода мешавад, ки , дар ин ҷо xxx — рақамҳои системаи шонздаҳиӣ мебошанд. Мисол, рамзи«я» коди (U+044F)ро дорост, 044F16 = 110310.

Системаи кодгузорӣ[вироиш]

Системаи универсалии (Юникод) маҷмӯи рамзҳои графикӣ ва тарзи кодгузории он дар коркарди компӯтарии маълумоти матниро дар бар мегирад.

Рамзҳои графикӣ — ин рамзҳое мебошанд, ки тасвири аёнӣ доранд. Рамзҳои графикӣ ба муқобили рамзҳои идоракунанда ва рамзҳои фарматикунонӣ гузошта мешаванд.

Рамзҳои графикӣ чунин гурӯҳҳоро дар бар мегиранд:

  • ҳарфҳое, ки ақалан дар яке аз алифбоҳои истифодашаванда мавҷудаанд;
  • рақамҳо;
  • аломатҳои китобат;
  • рамзҳои махсус (математикӣ, техникӣ, идеограммаҳо ва ғайра);
  • ҷудокунандаҳо.

Юникод — ин система барои тасвири хаттии матн мебошад. Рамзҳое, ки аз элементҳои иловагии зерсатрӣ ёки болостарӣ иборатанд, метавонанд ба қоидаи махсуси пайдарпайии кодҳо (варианти таркибӣ, composite character) ёки ба намуди рамзи ягона (варианти монолитӣ, precomposed character) сохта шаванд

Рамзҳои тағирёбанда[вироиш]

Тасвири рамзи «Й» (U+0419) ба намуди рамзҳои асосии «И» (U+0418) ва рамзи тағирёбандаи « ̆» (U+0306)

Рамзҳои графикӣ дар Юникод ба мутассил ва ғайри мутассил тақсим мешаванд. Рамзҳои ғайри мутаассил ҳангоми намоиш додан бисёр ҷойро ишғол намекунанд. Аз он ҷумла ба онҳо аломати зада ва дигар аломатҳои диакритӣ дохил мешаванд. Рамзҳои мутаассил ва ғайри мутаассл кодҳои худро доранд. Рамзҳои мутассилро ба намуди дигар асосӣ (base characters), ғайри мутаассилро бошад- тағирёбанда (combining characters) меноманд. Мисол, рамзи «á» метавонад ба монанди пайдарпайии рамзҳои асосии «a» (U+0061) ва рамзи тағирёбандаи « ́» (U+0301) ёки ба монанди рамзи монолитии «á» (U+00C1) тасвир шавад.

Формаҳои нормализатсия[вироиш]

Ҳарчанд ки ҳаммаи рамзҳоро метавонем ба кодҳои гуногун тасвир кунем ва баъзан н коркардро мушкил мегардонад. Барои ҳалли он раванди нормализатсия мавҷуд аст, ки барои матнро ба намуди стандарти муайян хизмат мекунад.

Дар стандарти Юникод 4 формаи нормализатсияи матнӣ муайян шудааст:

  • Формаи нормализатсияи D (NFD) – декомпазитсияи каноникӣ.
  • Формаи нормализатсияи C (NFC) - декомпазитсияи каноникӣ бо сохти каноникии оянда.
  • Формаи нормализатсияи KD (NFKD) – декомпозитсияи ҳамҷоя.
  • Формаи нормализатсияи KC (NFKC) - декомпозитсияи ҳамҷоя бо сохти каноникии оянда.

Мавҳумҳои «композитсия» ва «декомпозитсия» тақимшавӣ ва пайвастшавии мувофиқи рамзҳоро ба қисмҳои таркибӣ ифода мекунанд.

Мисолҳо[вироиш]

Матни асосӣ NFD NFC NFKD NFKC
Français (Fran\xe7ais) Franc\u0327ais Fran\xe7ais Franc\u0327ais Fran\xe7ais
А,Ё,Й (\u0410,\u0401, \u0419) \u0410,\u0415\u0308, \u0418\u0306 \u0410,\u0401,\u0419 \u0410,\u0415\u0308, \u0418\u0306 \u0410,\u0401,\u0419
が (\u304c) \u304b\u3099 \u304c \u304b\u3099 \u304c
Henry IV Henry IV Henry IV Henry IV Henry IV
Henry Ⅳ (Henry \u2163) Henry \u2163 Henry \u2163 Henry IV Henry IV

Навишти дусамта[вироиш]

Стандарти Юникод навишти хаттии забонҳоро ҳам аз тарафи чап ба рост (left-to-right, LTR), ва ҳам аз тарафи рост ба чап (right-to-left, RTL) иҷозат медиҳад-мисол хатти алифбои арабӣ ва алифбои яҳудӣ. Дар ҳар ду ҳолат рамзҳо бо тартиби «табии» сабт мегарданд.

Ба ғайр аз ин Юникод матни комбиниронидашударо тастгири мекунад, ки фрагметҳои самти гуногуни матнро дарбар мегирад. Ин имконият навишти дусамта (bidirectional text, BiDi) номида мешавад. Баъзе аз коркардгари матнии содда (мисол, дар телефонҳои мобилӣ) метавонад Юникодро дастгирӣ намояд, вали имконияти навишти дусамтаро надорад. Ҳаммаи рамзҳои Юникод ба чандин гурӯҳ тақсим шудаанд : аз чап ба рост навишташуда, аз рост ба чап навишташуда ва дар самти гуногун навишташуда. Рамзҳои гурӯҳи охирон дар вақти тасвир матне, ки онро иҳота кардааст (асосан ин аломатҳо китобат) самти онро қабул мекунад.

Тасвири рамзҳо[вироиш]

Roadmap to Unicode BMP.svg

Юникод қариб тамоми хатҳои ҷадидро дар бар мегирад ва аз он ҷумла: арабӣ, арманӣ, бенгалӣ, бирмагӣ, юнонӣ, гурҷӣ, деванагарӣ, иврит, Кириллӣ, коптӣ, кхмерӣ, лотинӣ, томилӣ, хангил, хан (Чин, Ҷопон, Куриё), черокӣ, эфиопӣ, ҷопонӣ (катакана, хирагана, кандзӣ) ва ғайраҳо.

Бо мақсади академӣ бисёр алифбоҳои таърихӣ илова шудаанд, аз он ҷумла: рунӣ, забони Юнони Қадим, иероглифҳои мисрӣ, клинопис, алифбои майя, алифбои этруссӣ.

Дар Юникод маҷмӯи калони рамзҳои математикӣ, мусиқӣ ва пиктограммаҳо оварда шудаанд.

Рушти Юникод[вироиш]

Версияи аввали Юникода кодгузорӣ бо андозаи маҳдудшудаи рамзҳоро дар 16 бит дар бар мегирифт, ки миқдори ҳаммагии кодҳо ба 216 (65536) баробар буд. Аз инҷо гузориши чор рақами системаи шонздаҳӣ пайдо шудааст (мисол, U+0410). Дар ин вақт дар Юникоде нақшаи кодгузории на ҳаммаи рамзҳои бударо, балки фақат рамзҳое, ки ҳар рӯз истифода мешаванд таҳрезӣ шуда буд. Рамзҳои кам истифодашаванда бояд дар «соҳаи рамзҳои истифодаи шахсӣ» (англисӣ: Private Use Area) гузошта мешуданд, ки дар аввал кодҳои U+D800...U+F8FF-ро дар бар мегирифтан.

Дар оянда зиёд кардани соҳаи кодиро қабул карданд. Якҷоя бо ин кодҳои рамзиро на ба монанди қиммати 16-бита, балки ба монанди адаҳои абстрактӣ гузарониданд, ки дар компӯтар метавонанд маҷмӯи тарзҳои гуногунро ифода намоянд.

Боз нигаред[вироиш]


Пайввандҳо[вироиш]