Системи за кодиране - studopediya
Encoding текст е създаването на една маса кореспонденция между символа на кодиране и комбинацията от бита на състоянието, тоест, като кодиране процес е, че всеки един от героите получава уникален код. В момента има различни системи за кодиране, основната разлика между тях е броят на битовете, необходими за кодиране на един символ.
· ASCII (American Standard код за информационен обмен): използва информация количество = 7 бита за кодиране символ. (. Вижте лекция 1) Ако ние считаме, героите като възможни събития, можем да изчислим броя на символите, които могат да бъдат кодирани:
По този начин, броят на кодирани символи е ограничен, така че в седем битово кодиране система не може да бъде кодирана букви от българската азбука. Проблемът бе поставен в същото време да представлява и български и английски букви. Начини за решаване на този проблем е транслитерация и разширяване на кодиране.
· Осем-битова система за кодиране:
Ако кодът на MSB-0, системата за кодиране съвпада с ASCII, ако MSB -1, въвежда допълнителен код-а страница.
В България е създадена една такава система KOI-8, му недостатък е, че българските букви не се alfavitu.Krome че има CP-866, CP-1251, ANSI, използвани в операционната система Windows.
· Големи кодови страници:
Кодиране на един символ трябва 16 бита
естествено със системата за кодиране не е проблем за невъзможността да се кодиране на символ, като превишението на 65535 обхваща разнообразие от знаци, използвани, но UNICODE има друг недостатък в превод на текстове от ASCII към UNICODE значително увеличава размера на текста на компютъра. В тази връзка, тя се развива друг клас системи за кодиране, като се използва променлив брой битове за кодиране на знаците.
Ако най-маловажния бит на кода е нула (bit8 = 0), системата за кодиране съвпада с ASCII, където всеки от първите 128 символи се кодира в един байт.
Ако старши е равен на една (1 = bit8, Bit7 = 0), следващите 16384 героите са кодирани подобно на UNICODE, т.е. за всеки знак кодиране използва два байта. Оставащи символи (65535-128-16384 = 49023) са кодирани от три байта.
Пример: Помислете колко много информация има характер низ "Информация × - × информация"
в различни системи за кодиране. В случай на SR1251 всеки знак се кодира в един байт Þ количеството информация: 24 * 1 = 24 байта. В UNICODE, като всеки символ се кодира в два байта Þ количеството информация: 24 * 2 = 48 байта. В UTF-8 кодиране от букви, интервали и тирета трябва да бъде един байт за всеки знак, а всеки герой на думата "информация", кодирани в два байта Þ на информация: 14 * 1 + 10 * 2 = 34 байта.
От една страна, компютър текст - това азбучен, според което текстът се представя като символен низ (ограмотяване). Друг подход е, че текстът на компютър вече се разглежда като сложна структура, състояща се от набор от символни низове.
т: - един от тези вериги с дължина к.
Този подход дава възможност да се разбере алгоритъм за преобразуване на текста, който следва принцип функционалното картиране, т.е. един единствен текстов низ, част от областта на този алгоритъм, е свързана с друга верига, която е резултат от конверсия: t1 ®t2. В този случай, домейна на функция (алгоритъм) ще бъде на езика.
Граматиката на езика - това са правилата, които да доведат до всички членове на веригата на езика. Отделни азбука символ - е регулярен израз. Граматика, построен на регулярни изрази, написани под формата на програма, която генерира низ от знаци. Назначаване на регулярни изрази - определя набор от низове, които съставят на езика.