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

Изтрито е съдържание Добавено е съдържание
мРедакция без резюме
Редакция без резюме
Ред 106:
'''[[Уникод]]''' или ''Универсален набор от символи'' (на английски: ''Unicode'') и паралелния му стандарт [[:en:Universal_Coded_Character_Set|ISO/IEC 10646 Universal Character Set]], заедно представляват модерна единна система за символно кодиране. Вместо символите да се свързват директно в байтове, те поотделно определят какви символи са свободни, тяхното подреждане, как тези числа са кодирани като серия от „кодови единици”, и как накрая как  тези единици са кодирани като поток от байтове. Идеята за това разлагане е да се създаде универсален набор от символи, които могат да  бъдат кодирани по различен начин. За да се опише този модел правилно, трябва да се въведат по-точни методи от „набор от символи” и „символно  кодиране”. Методите, които се използват в съвременния модел са:
 
Символното съдържание е пълният набор от абстрактни символи, които една система поддържа. Съдържанието може да бъде затворено, т.е. не са позволени допълнения без създаване на нови стандарти (както е направена [[:en:ASCII|ASCII]] таблицата), или да бъде отворено, позволявайки допълнения. Символите в дадено съдържание отразяват решенията как да се разделят системите за писане на основни информационни единици. Основните варианти на латински, гръцки и  кирилица могат да бъдат разделени на букви, цифри, пунктуационни знаци и няколко специфични символи като празно място, които  могат да бъдат подредени в прости линейни последователности, които се показват в реда, в който се четат. Дори с тези азбуки, диакритични знаци представляват усложнение: те могат да се разглеждат или като част от отделен символ, който съдържа буква и диакритичен символ, или като отделни символи. Основният позволява много по-проста текстова обработка, а последният позволява да бъде използвана буквена/ диакритична комбинация. Лигатурите създават същите проблеми. Други системи за писане като арабската азбука или иврит са представени като по сложни символни съдържания , поради необходимостта да се акомодират неща като двупосочен текст и знаци, които са свързани по между си по различни начини.
 
Кодирания символен низ отговаря на това как е представено съдържанието на символите като цели числа, наречени кодови точки. Като например в дадено съдържание, символ представен с главна буква „А”, в латинската азбука е представен като числото 65.
 
Кодираната символна форма- КСФ (''character encoding form-'' CEF) уточнява превръщането на целочислени кодове на кодиран набор от символи в серия от ограничени по размер целочислени кодови стойности, които улесняват съхранението в една система, представляваща числа в двоична бройна система, използвайки фиксиран брой битове. Например система, която съхранява информация в 16-битов блок, ще може да събере единствено цели числа от 0 до 65 535 във всяка единица. По-големите числа могат да бъдат представени, ако бъде използван повече от един 16-битов блок. Това е, което на КСФ побира: той определя начин на нанасяне единичен код на точка от редица например 0-1400000, до серия от един или повече кодови стойности от диапазона 0 до 65 535.
Ред 119:
 
== Символни модели, кодови страници и кодиране ==
Важно е ясно да разганичим концепциите между символен модел и символно кодиране.
 
Кодираният символен модел е множество от символи, всеки символ имащ има уникален номер.  Единиците от кодираните символни модели се наричат кодови точки. Стойността на една кодова точка представлява позицията на символа в кодирания символен сет (модел). За пример, кодът на буквата à в Уникод символен модел е 255 в десетична или Е1 в шестнадесетична бройна система.
Ред 125:
Кодираните символни модели биват наричани понякога кодови страници.
 
Символното кодиране рефлектира начина, по който кодираните символни модели(множества) са преведени в битове за манипулация в компютъра. Картинката показва как символите и символните точки в скрипта Tifinagh(Berber) са преведени до поредица от битове в паметта използвайки UTF-8 кодиране. Стойността на кодовата точка за всеки символ е зададена непосредствено под всеки символ на картинката. Стрелките показват как са преведени в поредица от битове, където всеки бит е представен от двуцифрено шестнадесетично число. Забележете как на дадения пример кодовите точки на скрипта Tifinagh(Berber) са представени в три битови, а удивителния знак е представен с един бит. (В процес на обновяване)<gallery>
[[File:Encodings-utf8.png|thumb|UTF-8 Encoding example]]
</gallery>