Уникод
от Уикипедия, свободната енциклопедия
Уникод или Универсален набор от символи (на английски, Unicode) е разработен да реши проблемите с наличието на много съществуващи еднобайтови набори от символи (кодировки), използвани при писане на текст на различни езици.
[редактиране] Сведения
Уникод (универсална кодировка) е набор от символи, създаден с цел е да съдържа всеки символ, използван при писане, на всички азбуки (включително и много мъртви езици) и други символи, използвани в математиката и инженерните науки.
Всеки знак или символ отговаря на определен номер в кодовата таблица, който се ползва примерно за изобразяване на символа в даден шрифт. Тъй като символите са няколко десетки хиляди и не е възможно да се представят в един байт, по специални правила (UTF) номерата на символите се трансформират в един, два, три или четири байта, за да могат да се ползват от компютрите.
- Обикновената латинска азбука, цифрите и основните препинателни знаци се изобразяват с един байт.
- Повечето диакритични латински букви, кирилицата, гръцката, арменската, еврейската, арабската и др. азбуки и някои знаци се представят с два байта.
- Други азбуки (африкански, азиатски, американски) и някои специални знаци се кодират с три или четири байта.
Всеки един от досегашните набори от символи, кодирани с един байт, може без загуба да бъде преобразуван към Уникод, при едно условие: да сме сигурни точно от кой набор (в коя кодировка) са символите. Обратното преобразуване, от Уникод към някоя от еднобайтовите кодировки, е еднозначно и безспорно за тези знаци, които съществуват в целевата кодировка. Но текстовете в универсалната кодировка могат да съдържат всякакви знаци и тогава не е възможно да се преобразуват коректно в някоя еднобайтова кодировка.
Например текст само на кирилица или само на чешка латиница (с диакритични знаци) се преобразуват без проблем от съответната кодировка към Уникод и обратно. Обаче текст в Уникод и с кирилски букви, и с латински диакритични знаци (букви с ударения и лигатури), не може да се преобразува изцяло: или кирилицата ще се загуби, или буквите с диакритични знаци, в зависимост от целевата кодировка.
Относно дължината на текстовете, поради кодирането на всеки знак с един до четири байта (вместо само с един), обикновено текстове в Уникод са с по-голяма дължина от същите текстове в старите еднобайтови кодировки:
Примерен текст | Старо кодиране (1 байт) | Уникод (представен като отделни байтове) |
---|---|---|
"Кирилица"[1] | Кирилица | Кирилица |
(байтове, по номера) | 202 232 240 232 235 232 246 224 | 208 154 208 184 209 128 208 184 208 187 208 184 209 134 208 176 |
(байтове, шестнадесетично кодиране) | CA E8 F0 E8 EB E8 F6 E0 | D0 9A D0 B8 D1 80 D0 B8 D0 BB D0 B8 D1 86 D0 B0 |
- ↑ Даден е пример как би изгледжал съответният текст, ако е прегледан с еднобайтовото кодиране Windows-1251.
[редактиране] Някои примери за практическо използуване
- Уикипедия работи на Уникод и при нея се вижда практически ползата от него - страниците са многоезични. Това предимство се вижда при използуването на отговарящ на стандартите браузър, например Опера.
- Windows NT4 и наследниците му - Windows 2000 и Windows XP вътрешно обработват текстовете на Уникод. Файловата система NTFS също работи с Уникод. Тоест - ако някой от горните Уйндоуси е инсталиран на NTFS дисков дял, то може да слагаме имена на файлове и папки на всякакъв език, точно както може да пишем на всякакъв език в статиите тука. Проблемът „файловете не се четат, имената им са на маймуни“ е принципиално невъзможен и наистина не се среща.