UTF-32: Разлика между версии

Изтрито е съдържание Добавено е съдържание
Редакция без резюме
ExploitX3 (беседа | приноси)
м Употреба
Ред 8:
Оригиналният ISO 10646 стандарт дефинира 31 битово кодиране, наричан UCS-4 (Universal Character Set), при който всеки кодиран знак е представен от 32 битова стойност от цели числа между 0 и шестнадесетичен 7FFFFFFF. Понеже в момента се ползват само 17 BMP части, всички кодови точки са между 0 и 0x10FFFF. UTF-32 е подгрупа на UCS-4, който ползва този диапазон. Тъй като принципите и процедурите посочени в JTC1/SC2/WG2 документацията заявяват, че всички бъдещи задания на знаците ще бъдат ограничени до BMP или до първите 14 допълнителни части, UTF-32 ще бъде в състояние да представя всички Unicode знаци. Ето защо, UCS-4 и UTF-32 са идентични с изключение на това, че UTF-32 има допълнителна Unicode семантика.
 
 
== Анализ ==
Въпреки, че фиксиран брой бита за кодова точка се явява удобно, не е толкова полезно колкото изглежда. Това прави орязването по-лесно, но не значително в сравнение с UTF-8 и UTF-16 (и при двата формата може да се търси точка за съкращаване в обратен ред гледайки по 2-4 кодови единици).
Изключително рядко е даден код да намери N-тата точка без предварително разглеждане на точките от 0 до N - 1. Това означава, че индекс увеличен с 1 за всеки знак може да бъде заменен с изместеното число, измерено в кодови единици и увеличено с броя кодови единици като всеки знак се разглежда. Това премахва всички предимства със скоростта при работа с UTF-32.В малкото случаи, където точката N е генерирана без предварително преглеждане на кода, като хеширане и високоскоростни алгоритми за търсене, няма нужда N да бъде представена с точност и по този начин, с орязване, може да бъде пригодено за за работа с UTF-8 или UTF-16, чрез настройване на позицията до най-близката граница на кодова точка, операция с фиксирано време.UTF-32 не пресмята показаната ширина на низа по-лесно, тъй като дори и при шрифт с "фиксирана ширина" може да има знаци съдържащи повече от една кодова точка на позиция (комбинирани знаци) или повече от един знак на дадена позиция (на пример CJK (Китайски, Японски, Корейски) йероглифи).Редактори които се ограничават до езици с начин на изписване от ляво на дясно и по-сложни знаци могат да се възползват от фиксираните по размер кодови единици, но е малко вероятно да поддържат знаци които не са част от BMP и за това работят еднакво добре с UTF-16 кодиране.
 
 
== Употреба==
Основната употреба на UTF-32 е във вътрешните APIs, където данните са единични кодови букви или знаци, а не низове от знаци. Например при съвременното представяне на текст обикновенно последната стъпка е да се изгради списък от структури, всяка съдържаща позиция "x" и "y", атрибути и единичен UTF-32 знак който идентифицира глифа за рисуване. Често информацията която не е Unicode се съхранява в "неизползваните" 11 бита от всяка дума.
 
[[Категория:Кодови таблици]]