Символно кодиране: Разлика между версии

Изтрито е съдържание Добавено е съдържание
VAN-ST (беседа | приноси)
| терминологична поправка (map(ping) в този контекст не значи картиране)
VAN-ST (беседа | приноси)
s/сет/набор/
Ред 15:
Ограниченията на тези символни модели скоро станали очевидни и впоследствие се появили нови методи, които да ги допълнят. Нуждата да се поддържат повече системи за писане за различните езици наложило поддръжката на много по-голям брой символи. Това изискало по-систематичен подход за кодиране на символите.
 
Дилемата, пред която били поставени изследователите в тази област през 80-те години на 20 век, когато опитвали да създадат универсален метод за символно кодиране, била от една страна нуждата да се добавят повече битове, за да се кодират допълнителните символи. От друга страна за потребителите на относително малкия сетнабор от символи в Латинската азбука (които представлявали по-голямата част от потребителите на компютри по това време), тези допълнителни битове били огромна загуба на и без това оскъдните компютърни ресурси.
 
Компромисното решение, което било постигнато с [[Уникод]] (Unicode), разбило дългогодишното предположение, че всеки символ трябва винаги да кореспондира директно с определен модел от кодиращи битове. Обяснено по долу.
Ред 128:
Най-простата КСФ система е просто да се изберат достатъчно големи единици, така че стойностите от кодирания набор от символи да могат да се кодират директно. Това работи добре за кодирани набори от символи, които се вписват в 8-бита и сравнително добре за кодирани набори от символи, които се побират в 16-бита. Въпреки това, тъй като размерът на кодиран набор от символи се увеличава, това става все по-малко ефективно и е трудно да се адаптират съществуващите системи, да се използват по-големи кодови стойности. Ето защо повечето система работещи с по-нови системи на Уникод използват или UTF-8 или UTF-16.
 
На следващо място е ''схемата за кодиране на символи''- СКМ (''character encoding scheme''- CES). Тя уточнява как целочислени кодови стойности да бъдат вмъкнати в базирана файлова система. С Уникод една проста схема за кодиране на символи се използва в повечето случаи, просто като се уточни  дали байтабайтът за всяко число трябва да бъде в по-голям къс или в по-малък.
 
И накрая, може да има по-висок по ниво протокол, който предоставя допълнителна информация, която може да се използва, за да  се избере конкретен вариант на Уникод символ.
Ред 135:
Важно е ясно да разграничим концепциите между символен модел и символно кодиране.
 
Кодираният символен модел е множество от символи, всеки символ имащ уникален номер.  Единиците от кодираните символни модели се наричат кодови точки. Стойността на една кодова точка представлява позицията на символа в кодирания символен сетнабор (модел). За пример, кодът на буквата à в Уникод символен модел е 255 в десетична или Е1 в шестнадесетична бройна система.
 
Кодираните символни модели биват наричани понякога кодови страници.
 
Символното кодиране рефлектираотразява начина, по който кодираните символни модели (множества) са преведени в битове за манипулация в компютъра. Картинката показва как символите и символните точки в скрипта Tifinagh (Berber) са преведени до поредица от битове в паметта, използвайки UTF-8 кодиране. Стойността на кодовата точка за всеки символ е зададена непосредствено под всеки символ на картинката. Стрелките показват как са преведени в поредица от битове, където всеки бит е представен от двуцифрено шестнадесетично число. Забележете как на дадения пример кодовите точки на скрипта Tifinagh(Berber) са представени в три битови, а удивителния знак е представен с един бит.
 
Един символен модел, няколко кодирания. Много стандарти в символните кодирания, като тези в ISO 8859 сериите използват един бит за даден символ и кодирането се извършват директно, тоест позицията на символа отговаря на кодирания символ. За пример буквата А в ISO 8859-1 кодиран символен модел е 65-та подред (започващ от 0) и кодирана е представена на компютъра като байт използващ стойността 65. За ISO 8859-1 това не се променя.
 
За Уникод обаче нещата не са директни. Всъщност кодовата точка за буквата à в модела Уникод е винаги 225 (в десетична бройна система), в UTF-8 буквата е представена в компютъра в два бита. В допълнение в Уникод има различни на брой начини за кодиране на един и същ символ. За пример буквата à може да бъде представена като 2 бита в едно кодиране и като 4 байта в друго. Кодиращите форми, които могат да се използват в Уникод, са UTF-8, UTF-16 и UTF-32.<gallery>
 
</gallery>