Какво е стандартът UNICODE, версия 5.0

Езици Frequently asked questions

Какво е стандартът UNICODE, версия 5.0?

В петнадесетгодишната история на Unicode той се превърна в стандарт за кодиране на символи по избор в новите приложения. Той е стандартното кодиране за HTML и XML; той е основният тип символи в езици за програмиране като Java, C и JavaScript; и той е вътрешното кодиране на символи в операционните системи Windows и Macintosh. На практика всички разновидности на UNIX също включват поддръжка за него. Unicode е за изчисленията през двадесет и първи век това, което беше ASCII за изчисленията през двадесети век.

През октомври 2006 г. Unicode Consortium пусна най-новата версия на стандарта, версия 5.0. Новата версия съдържа много символи – малко под 100 000.

Две неща отличават стандарта Unicode от другите стандарти за кодиране на символи. Едното е самият размер и изчерпателност на неговите кодови назначения. Тези 100 000 назначения на символи обхващат всички символи във всички писмени системи за всички езици, често използвани в бизнеса днес, както и всички символи, необходими за много малцинствени езици и остарели писмени системи, и цяла гама от математически, научни и технически символи. Какъвто и символ да ви е необходим, шансовете са огромни, че Unicode го има, и ако не го има, никой друг стандарт за кодиране в разумно широка употреба също няма да го има. Тази изчерпателност дава възможност да се представи текст на всеки език или комбинация от езици, без да се притесняваме кой стандарт за кодиране на символи следва приложението или документът ни – и без да се притесняваме за промяна на този стандарт за кодиране в средата на документа или за липсващи символи, защото не можем да променим кодирането.

Естествено, тази изчерпателност създава предизвикателства при имплементацията, които трябва да бъдат решени. Например, много от световните писмени системи имат сложни двуизмерни свойства на подреждане, които не се преобразуват добре в линейна прогресия от числови кодове, и много могат да се анализират на „символи“ по различни начини. Може да се наложи да се вземат различни решения за кодиране за различни писмености, но все пак трябва да можете да ги смесвате в документ и нещата да работят разумно. Много символи имат сходен външен вид, което води до потенциални проблеми със сигурността, които трябва да бъдат решени. Също така не можете да заключите много за даден символ от позицията му в кодовото пространство или външния му вид в кодовите таблици. Има твърде много символи за това, като постоянно се добавят още.

Поради тези и много други проблеми, стандартът Unicode и придружаващите го Unicode Standard Annexes (накратко „UAXes“) надхвърлят далеч всеки друг стандарт за кодиране на символи при описанието как точно тези 100 000 назначения на символи се използват заедно, за да представят реален текст, и как софтуерът трябва да извършва различни процеси върху символите. Например, тъй като не можете да заключите нещата от позицията на даден символ в кодовото пространство, стандартът включва много голяма база данни със свойства на символите, които излагат в изключителни детайли такива неща като дали даден символ е буква или цифра, на кой друг символ (ако има такъв) е еквивалентен и т.н. Тъй като има повече кодове на символи, отколкото могат да бъдат представени в една 16-битова дума, стандартът дефинира различни схеми за представяне (Unicode ги нарича „форми на кодиране“), които оптимизират за различни ситуации. Тъй като Unicode позволява много символи да бъдат представени по повече от един начин, стандартът дефинира процеси за обработка на еквивалентностите. В стандарта са разгледани и много други сложности и предизвикателства.


Comments