﻿Уникод

Уникод (универсална кодировка) е набор от символи, създаден с цел е да съдържа всеки символ, използван при писане,
 на всички азбуки (включително и много мъртви езици) и други символи, използвани в математиката и инженерните науки.

Всеки знак или символ отговаря на определен номер в кодовата таблица, който се ползва примерно за изобразяване на
 символа в даден шрифт. Тъй като символите са няколко десетки хиляди и не е възможно да се представят в един байт,
 по специални правила (UTF) номерата на символите се трансформират в един, два, три или четири байта, за да могат
 да се ползват от компютрите.

    * Обикновената латинска азбука, цифрите и основните препинателни знаци се изобразяват с един байт.
    * Повечето диакритични латински букви, кирилицата, гръцката, арменската, еврейската, арабската и др. азбуки и
      някои знаци се представят с два байта.
    * Други азбуки (африкански, азиатски, американски) и някои специални знаци се кодират с три или четири байта.

Всеки един от досегашните набори от символи, кодирани с един байт, може без загуба да бъде преобразуван към Уникод,
 при едно условие: да сме сигурни точно от кой набор (в коя кодировка) са символите. Обратното преобразуване, от
 Уникод към някоя от еднобайтовите кодировки, е еднозначно и безспорно за тези знаци, които съществуват в целевата
 кодировка. Но текстовете в универсалната кодировка могат да съдържат всякакви знаци и тогава не е възможно да се
 преобразуват коректно в някоя еднобайтова кодировка.

Например текст само на кирилица или само на чешка латиница (с диакритични знаци) се преобразуват без проблем от
 съответната кодировка към Уникод и обратно. Обаче текст в Уникод и с кирилски букви, и с латински диакритични
 знаци (букви с ударения и лигатури), не може да се преобразува изцяло: или кирилицата ще се загуби, или буквите с
 диакритични знаци, в зависимост от целевата кодировка.

Относно дължината на текстовете, поради кодирането на всеки знак с един до четири байта (вместо само с един),
 обикновено текстове в Уникод са с по-голяма дължина от същите текстове в старите еднобайтови кодировки.


Unicode

Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed
 in most of the world's writing systems. Developed in conjunction with the Universal Character Set standard and
 published in book form as The Unicode Standard, the latest version of Unicode consists of a repertoire of more
 than 107,000 characters covering 90 scripts, a set of code charts for visual reference, an encoding methodology
 and set of standard character encodings, an enumeration of character properties such as upper and lower case,
 a set of reference data computer files, and a number of related items, such as character properties, rules for
 normalization, decomposition, collation, rendering, and bidirectional display order (for the correct display of
 text containing both right-to-left scripts, such as Arabic and Hebrew, and left-to-right scripts).[1]

The Unicode Consortium, the nonprofit organization that coordinates Unicode's development, has the ambitious goal
 of eventually replacing existing character encoding schemes with Unicode and its standard Unicode Transformation
 Format (UTF) schemes, as many of the existing schemes are limited in size and scope and are incompatible with
 multilingual environments.

Unicode's success at unifying character sets has led to its widespread and predominant use in the
 internationalization and localization of computer software. The standard has been implemented in many recent
 technologies, including XML, the Java programming language, the Microsoft .NET Framework, and modern operating
 systems.

Unicode can be implemented by different character encodings. The most commonly used encodings are UTF-8
 (which uses one byte for any ASCII characters, which have the same code values in both UTF-8 and ASCII encoding,
 and up to four bytes for other characters), the now-obsolete UCS-2 (which uses two bytes for each character but
 cannot encode every character in the current Unicode standard), and UTF-16 (which extends UCS-2 to handle code
 points beyond the scope of UCS-2).
