# Юникод

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) сохта шаванд

## Рамзҳои тағирёбанда

Рамзҳои графикӣ дар Юникод ба мутассил ва ғайри мутассил тақсим мешаванд. Рамзҳои ғайри мутаассил ҳангоми намоиш додан бисёр ҷойро ишғол намекунанд. Аз он ҷумла ба онҳо аломати зада ва дигар аломатҳои диакритӣ дохил мешаванд. Рамзҳои мутаассил ва ғайри мутаассл кодҳои худро доранд. Рамзҳои мутассилро ба намуди дигар асосӣ (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) номида мешавад. Баъзе аз коркардгари матнии сода (мисол, дар телефонҳои мобилӣ) метавонад Юникодро дастгирӣ намояд, вали имконияти навишти дусамтаро надорад. Ҳаммаи рамзҳои Юникод ба чандин гурӯҳ тақсим шудаанд : аз чап ба рост навишташуда, аз рост ба чап навишташуда ва дар самти гуногун навишташуда. Рамзҳои гурӯҳи охирон дар вақти тасвир матне, ки онро иҳота кардааст (асосан ин аломатҳо китобат) самти онро қабул мекунад.

## Тасвири рамзҳо

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

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

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

## Рушти Юникод

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

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

## Боз нигаред

* ASCII
* Latin-1
* Кириллӣ дар Юникод
* Windows Glyph List 4

## Пайввандҳо

* Сайти расмии Консортсиум Юникод(англ.)
*
* Версия 4.1.0 (англ.)
* (англ.)
* Кириллӣ дар Юникод (файли PDF)(англ.)
* DecodeUnicode — Unicode WIKI(англ.), тасвири 50 000 рамзҳо
* (англ.)