ASCII

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене
ASCII

ASCII (акроним от английски: American Standard Code for Information Interchange – Американски стандартен код за обмен на информация [1]) е символно множество и символна кодова таблица, базирана на латинската азбука. ASCII кодовете представят текст в компютрите и други комуникационни и управляващи устройства работещи с текст. Всички модерни устройства използващи писмени знаци са ASCII базирани, въпреки че поддържат и множество допълнителни символи. До 2007 ASCII е най-използваната символна таблица в World Wide Web (WWW), но след това я измества UTF-8, която съдържа ASCII като подмножество.[2][3][4]

ASCII е разработен използвайки телеграфични кодове. Работата по стандарта започва през 6 октомври 1960, когато е първото събрание на Американската Асоциация за стандартизация подкомитет X3.2. Първото издание на стандарта, публикувано през 1963[5][6], преминава през сериозни промени през 1967[7][8], а най-скорошната актуализация е през 1986[9]. В сравнение с по-ранните телеграфични кодове ASCII предоставя по-удобно сортиране на списъци, а също характеристика за устройства различни от телепринтерите.

ASCII дефинира кодове за 33 неизобразими контролни символи (предимно определящи обработката на текста) плюс следните 95 изобразими символа (започвайки със символа интервал):

 !"#$%&'()*+,-./
0123456789:;<=>?
@ABCDEFGHIJKLMNO
PQRSTUVWXYZ[\]^_
`abcdefghijklmno
pqrstuvwxyz{|}~

Въведение[редактиране | редактиране на кода]

ASCII определя еднозначно съответствие между двоични кодове и писмени знаци (глифи), правейки възможно обмяната на текстова информация между отделни цифрови устройства, както и нейното съхраняване в тези устройства. Важно е да се отбележи, че ASCII определя съответствие между кода и семантичната стойност на глифа, а не негова конкретна реализация. Компютърните шрифтове са тези които определят реализациите на глифите. Да вземем за пример главната латинска буква A – нейният двоичен код е 0100 0001 или 65 в десетичен код. В един обикновен текстов файл в ASCII код тя ще бъде представена именно с този код – 65. Но за да се изобрази на екрана е нужен шрифт който от своя страна съпоставя на този код някакво изображение. Това изображение е различно при отделните шрифтове, но смисълът който то предава остава същия – главна латинска буква A.

ASCII е 7-битов код, което означава, че може да представи 128 символа. Често той е допълван до 8 бита добавяйки една или повече допълнителни азбуки (освен латинската). По времето на своето създаване за изход на текст са се използвали предимно печатащи устройства. Затова в ASCII се съдържат и контролни кодове, уточняващи начина, по който да се отпечатат символите.

История[редактиране | редактиране на кода]

Американския стандартен код за обмен на информация се разработва под покровителството на Американската Асоциация за стандартизация(наричана комитет X3) от подкомитет X3.2, а по-късно от подкомитет X3.2.4. След като бива преименува, днес, Американската Асоциация за стандартизация се нарича Американски институт за стандартизация

Преди ASCII[редактиране | редактиране на кода]

През 60-те години на 20-ти век, когато все още не е имало общ стандарт, производителите правили всичко така, както е най-удобно за техните технологии. По това време имало над 60 различни начина за представяне на символите, но различните машини нямало как да комуникират, тъй като всеки производител имал собствено представяне на буквите, цифрите и другите символи. Само Ай Би Ем (IBM) за различните си устройства имали 9 различни поредици от символи.
Боб Бъмър е програмист в Ай Би Ем и човекът с най-основна роля за въвеждането на всеобщ стандарт, не случайно е наричан баща на ASCII.

1961 – Започване на работата[редактиране | редактиране на кода]

Още в средата на своята кариера в Ай Би Ем, Боб Бъмър обръща внимание, че използвайки 9 различни стандарта машините на Ай Би Ем не могат да комуникират по между си, а още по-малко с машините от останалия свят. През май 1961 той пуснал предложение пред днешния Американски институт за стандартизация за въвеждането и използването на общ стандарт между компютрите. За работа по проекта се създава подкомитет X3.2, който се състоял от повечето компютърни производители.

1963 – Годината на раждане на ASCII[редактиране | редактиране на кода]

Всеки от производителите искал техния начин на представяне на символите и повече от 2 години били нужни на комитет, за да се съгласят и спрат на един общ код. Подкомитет X3.2 разработва ASCII на базата на по-ранните кодировачни системи на телепринтерите. Подобно на други символни кодировки, ASCII определя съответствие на цифровите битови шаблони със символи(печатаеми и контролни). Това позволява на устройства използващи кодировки да си комуникират, да обработват и запазват символно базирана информация като писмен език. Преди ASCII да бъде разработен, използваните кодировки използвала 26 букви, 10 цифри и от 11 до 25 специални писмени символи. За да включи всички тези и да контролира символите на другите стандарти ASCII трябвало да съдържа над 64 кода.

Дебатирало се е да бъде вкарани променяща функция, която би позволила над 64 кода да бъдат представени в 6-битов код. Това би позволило компактна кодировка, но по-малко надеждна за предаване на данни, тъй като грешка в променящия код ще направи данните нечетими. Това предложение било отхвърлено и ASCII се нуждаел от поне 7-битов код.

Комитета обсъдил 8-битов код, тъй като това би позволил два 4-битови шаблона за ефективно кодиране на двоично кодирано десетично число. Само че това би изисквало при всяко изпращане на данни да се пращат 8 бита, дори когато 7 биха били достатъчно. Затова е избрано да бъде използван 7-битов код, за да се намалят разходите по изпращане на данни

Първата публикация на ASCII става през 1963 година от комитета като били оставени 28 символа без предназначение за по-късна стандартизация. Дебатирало се е дали да бъдат вкарани още контролни символи вместо малките букви от английската азбука, но било взето решение малките букви да бъдат вкарани на 6-7 колона. Това породило разлика между битовите шаблоните на малките и големите букви с един бит, което опростило намирането на сходство между две букви, без да се има предвид дали е малка или голяма буква, по-лесно, а също улеснило правенето на принтери и клавиатури.

1963 – 1964 – Първи опит за прилагане на ASCII[редактиране | редактиране на кода]

За първи път с търговска насоченост ASCII е използван на 7-битов телепринтерски код за мрежата TWX (TeletypeWriter eXchange) на „American Telephone and Telegraph Company“(АТ§Т) през 1963. От 1963 до 1964 Ай Би Ем работят здраво по новата си операционна система/360 (OС/360), но когато операционната система била готова станало ясно, че няма да успеят да завършват принтерите и перфокартите навреме за официалното пускане на системата на пазара. Това, което се опитали да направят е да дадат възможност на операционната система да превключва между ASCII и EBCDIC (8-битова кодировка използвана от Ай Би Ем), но начинанието завършило с неуспех.

ASCII между 1964 – 1981[редактиране | редактиране на кода]

След проваления опит на Ай Би Ем да прокара общ стандарт в технологиите си се създава дупка от 18 години, в които не се чува нищо за ASCII. Работата на производители продължава по същия начин, както преди създаването на ASCII, а единствения компютър използвал този стандарт през тези 18 години е UNIVAC 1050.

1981 – Завръщането на ASCII[редактиране | редактиране на кода]

Първият компютър на Ай Би Ем бил произведен през тази година и отбелязва началото на използването на ASCII в компютрите. Това е най-важното събитие за стандарта, който предстои да се превърне в глобално използван. От този момент нататък всеки един компютър е правен така, че да е възможно най-съвместим с ASCII. Възникват и разширени стандарти, които отново са ASCII базирани.

ASCII е все още използван, изключвайки „Windows“ машините, които използват уникод.

ASCII контролни символи[редактиране | редактиране на кода]

Първоначално ASCII таблицата е създадена за обмен на информация между терминали и периферни устройства. ASCII запазва първите 32 символа (кодове с номера 0-31) за контролни знаци: служещи да контролират устройства (като принтери), които ползват ASCII за да предоставят мета-информация за потоци от данни, обработвани и съхранявани на различни видове носители. Например, код 10 представлява функция за „нов ред“ (което кара принтера да подава хартия), а код 8 представлява „връщане назад“.

Едно от първите устройства ползващи ASCII e Теле-шрифт модел 33 ASR, което е било терминал за печат с перфо-лента с опция четене и писане. Перфо-лентата е била много популярно средство за дългосрочно съхранение на данни до 1980 г. -  значително по-евтини и в някои отношения по-стабилни носители от магнитна лента. Теле-шрифт Model 33 ползва кодове 17 (Control-Q, DC1, известен също като XON), 19 (Control-S, DC3, известен също като XOFF) и 127 (Изтриване), които дефакто стават стандарти. В моделът 33 за пръв път е използвана и звуковата индикация Control-G (BEL) – конструирана със звънец, който се задейства механично, като получи BEL символ.

Някои видове софтуер дават специални значения на ASCII символите, изпращани от терминала до софтуера. Операционните системи от Digital Equipment Corporation, например, тълкуват DEL като команда „изтрии последно въведения символ“. Тази интерпретация също се използва често при Unix системи. Повечето други системи, използват BS вместо DEL за тази функция, а DEL означава „изтрии символа на мястото на курсора“. Символът „escape“ (код 27) е първоначално замислян да изпраща контролни символи като литерали, вместо да извиква тяхното значение. Същото значение на „escape“ се среща и в URL кодирането, низове в езика C и други системи, в които определени символи имат запазено значение. С времето, това значение е било променено.

Поради появилите се с времето интерпретации на контролните символи неминуемо се появяват и проблеми при прехвърляне на файлове между системите. Най-добрия пример за това е проблемът с „новия ред“ на различни операционни системи.

В библиотеките на С и конвенциите на Unix, символът „null“ се използва да се прекрати символен низ. Такива низове са познати като „ASCIIZ“ като „Z“ представлява „0“ (zero).

В днешно време идеята за ASCII таблицата е доразвита и управлението на потоците от данни става с форматиращи файлове, езици за управление на устройства (като PostScript) и стандартни протоколи. Поради тази причина много от контролните символи вече или изобщо не се използват или се използват не по първоначалното им предназначение.

ASCII контролни символи – диаграма[редактиране | редактиране на кода]

Binary Oct Dec Hex Съкр. ИП[1] КК[2] Английски Български Описание
0000 0000 000 0 00 NUL ^@ NULL Празан символ Този символ не прави нищо. Някои терминали го изобразяват като интервал, но това е неправилно.
0000 0001 001 1 01 SOH ^A Start of Heading Начало на заглавие В днешно време се използва в маршрутизатори на CISCO.
0000 0010 002 2 02 STX ^B Start of Text Начало на текст В днешно време се използва в маршрутизатори на CISCO.
0000 0011 003 3 03 ETX ^C End of Text Край на текст При въвеждане в терминала обикновенно се интерпретира като сигнал за презареждане.
0000 0100 004 4 04 EOT ^D End-of-transmission character Край на предаване Unix ситемите го интерпретират като край на входните данни. Текущата програма е прочела данните от терминала приключва четенето и обработва цялата информация до символа ^D.
0000 0101 005 5 05 ENQ ^E Enquiry Повикване Използва се в телетайпните системи (теграфи).
0000 0110 006 6 06 ACK ^F Acknowledgement Потвърждение Използва се в телетайпните системи (теграфи).
0000 0111 007 7 07 BEL ^G Bell Звънец Ако принтера или терминала получи таккъв символ той не отпечатва нищо, но произвежда звуков сигнал.
0000 1000 010 8 08 BS ^H Backspace[3][4] Връщане назада Премества позицията на печатното устройство един символ назад.
0000 1001 011 9 09 HT ^I Horizontal Tab Хоризонтална табулация Премества позицията на печатното устройство към следваща позиция.
0000 1010 012 10 0A LF ^J Line feed Нов ред Премества позицията за печат един ред надолу или разделя текстов файл в Unix системите.
0000 1011 013 11 0B VT ^K Vertical Tab Вертикална табулация Премества печатното устройство във следващата позиция по вертикал.
0000 1100 014 12 0C FF ^L Form feed Следваща страница Изтрива печата на текущата страница и започва печат на следващата. На терминалните устройства този символ обикновенно е еквивалентен на изчистване на екрана.
0000 1101 015 13 0D CR ^M Carriage return[3] Връщане в изходно положение Премества печатащата глава на принтера в крайно ляво – изходно положение.
0000 1110 016 14 0E SO ^N Shift Out Режим на въвеждане Превключва режима на въвеждане на текущия език.
0000 1111 017 15 0F SI ^O Shift In ACSII режим на въвеждане Превключва на латински режим на писане.
0001 0000 020 16 10 DLE ^P Data Link Escape Игнориране на управляващ символ Означава, че следващия символ трябва да се приеме буквално, а не като управляващ.
0001 0001 021 17 11 DC1 ^Q Device Control 1 (или XON) Управление на устройство код 1 Разрешава на терминала да продължи да приема данни.
0001 0010 022 18 12 DC2 ^R Device Control 2 Управление на устройство код 2
0001 0011 023 19 13 DC3 ^S Device Control 3 (или XOFF) Управление на устройство код 3 Временно да прекрати приемането на данни.
0001 0100 024 20 14 DC4 ^T Device Control 4 Управление на устройство код 4
0001 0101 025 21 15 NAK ^U Negative Acknowledgement Отрицателно потвърждение Означава, че устройството е заето.
0001 0110 026 22 16 SYN ^V Synchronous Idle Синронен режим Синхронизиран обмен на данни.
0001 0111 027 23 17 ETB ^W End of Trans. Block Край на блока на предаване
0001 1000 030 24 18 CAN ^X Cancel Отмяна Данните, които са дошли преди този символ са некоректни.
0001 1001 031 25 19 EM ^Y End of Medium Край на носителя Използва се например, ако е свършила перфолентата.
0001 1010 032 26 1A SUB ^Z Substitute Замяна Поставя се на мястото на символи, които са били изгубени при приемането на данните. В MS-DOS се използва за край на текстов файл и край на входящата от конзолата информация. Някои текстови редактори под DOS го добавят автоматично в края на файла.
0001 1011 033 27 1B ESC ^[ Escape[3] Алтернативен регистър Следващия символ има значение различно от значението му определено от ASCII.
0001 1100 034 28 1C FS ^\ File Separator Файлов разделител
0001 1101 035 29 1D GS ^] Group Separator Разделител на групи
0001 1110 036 30 1E RS ^^ Record Separator Разделите на записа
0001 1111 037 31 1F US ^_ Unit Separator Разделител по полета
0111 1111 177 127 7F DEL ^? Delete[3][4] Изтриване
  1. Изобразимо Представяне, Unicode глифите представящи контролните символи когато е необходимо те да се отпечатат или изобразят вместо да се използват по предназначение. Понякога вместо това се използва представянето с каретка съответстващо на начина на въвеждане[2]
  2. Клавишна Комбинация, стандартната клавишна комбинация използвана за въвеждане на контролните символи. Каретката (^) представя клавиша Control (Ctrl) който трябва да се задържи докато се натиска следващия клавиш от комбинацията.
  3. Символите Backspace, Delete, Escape и Carriage Return могат да бъдат въведени и чрез натискане на съответните клавиши – ← Backspace (или Bksp, ←), Delete (Del), Escape (или Esc), Carriage Return (или Return, Ret, Enter, ↵)
  4. Някои системи превеждат символът Delete в Backspace. В тези случаи Delete може да се въведе и чрез клавишът или клавишните комбинации за Backspace.

ASCII печатаеми символи[редактиране | редактиране на кода]

След първите 32 контролни знаци в ASCII таблицата са вкарани 95 печатаеми или входни знаци. Това са текстови символи представени чрез числа: 26 малки английски букви, 26 големи английски букви, 10 цифри, 32 препинателни знаци и 1 интервал. Тоест в ASCII таблицата са вкарани всички символи, които трябва да бъдат изобразявани, за да може един текст да бъде прочетен, затова и те се наричат печатаеми символи.
Кодът 20hex, „space“ клавишът обозначава интервал между думите. Интервалът се счита за невидим символ и затова се причислява към печатаемите знаци, а не към контролните.

Binary Oct Dec Hex Glyph
010 0000 040 32 20 (space)
010 0001 041 33 21 !
010 0010 042 34 22
010 0011 043 35 23 #
010 0100 044 36 24 $
010 0101 045 37 25 %
010 0110 046 38 26 &
010 0111 047 39 27 '
010 1000 050 40 28 (
010 1001 051 41 29 )
010 1010 052 42 2A *
010 1011 053 43 2B +
010 1100 054 44 2C ,
010 1101 055 45 2D -
010 1110 056 46 2E .
010 1111 057 47 2F /
011 0000 060 48 30 0
011 0001 061 49 31 1
011 0010 062 50 32 2
011 0011 063 51 33 3
011 0100 064 52 34 4
011 0101 065 53 35 5
011 0110 066 54 36 6
011 0111 067 55 37 7
011 1000 070 56 38 8
011 1001 071 57 39 9
011 1010 072 58 3A :
011 1011 073 59 3B ;
011 1100 074 60 3C <
011 1101 075 61 3D =
011 1110 076 62 3E >
011 1111 077 63 3F ?
Binary Oct Dec Hex Glyph
100 0000 100 64 40 @
100 0001 101 65 41 A
100 0010 102 66 42 B
100 0011 103 67 43 C
100 0100 104 68 44 D
100 0101 105 69 45 E
100 0110 106 70 46 F
100 0111 107 71 47 G
100 1000 110 72 48 H
100 1001 111 73 49 I
100 1010 112 74 4A J
100 1011 113 75 4B K
100 1100 114 76 4C L
100 1101 115 77 4D M
100 1110 116 78 4E N
100 1111 117 79 4F O
101 0000 120 80 50 P
101 0001 121 81 51 Q
101 0010 122 82 52 R
101 0011 123 83 53 S
101 0100 124 84 54 T
101 0101 125 85 55 U
101 0110 126 86 56 V
101 0111 127 87 57 W
101 1000 130 88 58 X
101 1001 131 89 59 Y
101 1010 132 90 5A Z
101 1011 133 91 5B [
101 1100 134 92 5C \
101 1101 135 93 5D ]
101 1110 136 94 5E ^
101 1111 137 95 5F _
Binary Oct Dec Hex Glyph
110 0000 140 96 60 `
110 0001 141 97 61 a
110 0010 142 98 62 b
110 0011 143 99 63 c
110 0100 144 100 64 d
110 0101 145 101 65 e
110 0110 146 102 66 f
110 0111 147 103 67 g
110 1000 150 104 68 h
110 1001 151 105 69 i
110 1010 152 106 6A j
110 1011 153 107 6B k
110 1100 154 108 6C l
110 1101 155 109 6D m
110 1110 156 110 6E n
110 1111 157 111 6F o
111 0000 160 112 70 p
111 0001 161 113 71 q
111 0010 162 114 72 r
111 0011 163 115 73 s
111 0100 164 116 74 t
111 0101 165 117 75 u
111 0110 166 118 76 v
111 0111 167 119 77 w
111 1000 170 120 78 x
111 1001 171 121 79 y
111 1010 172 122 7A z
111 1011 173 123 7B {
111 1100 174 124 7C |
111 1101 175 125 7D }
111 1110 176 126 7E ~

Вариации[редактиране | редактиране на кода]

Тъй като компютърните технологии се разпространяват из целия свят, различни стандарти и корпорации разработват различни вариации на ASCII. Целта им е да допълнят липсващите не-английски символи в останалите езици базирани на латинската азбука. Този тип вариации се нарича ASCII разширения, въпреки че често този термин се използва за всички варианти, включително и тези които не запазват ASCII символите в 7 битовия обхват. Обратното също се наблюдава – ASCII разширенията биват погрешно наричани ASCII.

Много страни са разработили собствени варианти на ASCII, за да включат букви, които не се използват в английския език (напр. é, ñ, ß, Ł), символи за валута (напр. £, ¥), и др.

7-битови[редактиране | редактиране на кода]

От зората на разработката си, ASCII е планиран да бъде един от няколко варианта на символно кодиране за англоговорящите страни, включени в международния стандарт. Този стандарт е публикуван под името ISO/IEC 646 през 1972 г. В него общо използваните символи винаги стоят на една и съща позиция, докато останалите се променят за нуждите на определена дейност или етническа група.

През 4-те години между публикацията на ASCII-1963 и приемането на международен стандарт ISO през 1967, ASCII се утвърждава дотолкова, че на практика се приема за световния стандарт. Останалите страни я приемат за основна и я променят според своите нужди, което неминуемо довежда до обърквания и несъвместимости.

ISO/IEC 646, подобно на ASCII, е 7 битово символно кодиране. Той не е допускал включването на допълнителни кодове, така че в различните страни са се използвали различни символи за един и същ код. Специални кодове са били дефинирани, които да указват за чия нужда е предназначен даден текст. Често обаче тези указващи кодове не са били използвани, което в определени ситуации е довеждало до грешно интерпретирани кодове и съответно, грешно изписани символи.

В ASCII, различните видове скоби са били означени като символи разрешени за промяна. За нуждите на езици като немски, френски, шведски и други, в които се използват букви с ударение, символите със скоби са били заместени със символи за букви. Това засегнало особено програмистите, които използвайки различен от американския вариант на ISO/IEC 646, получавали трудно четим код:

ä aÄiÜ = 'Ön'; ü

вместо правилния:

{ a[i] = '\n'; }

C trigraph е бил създаден за да реши този проблем при езика C (ANSI C). Късното му представяне обаче го обричат на ограничена употреба. Много програмисти по това време вече са били свикнали компютърът им да използва US-ASCII и неудобството понякога да виждат скоби в средата на думите. Използването на US-ASCII от шведи, например ги е принуждавало да заместват ударените букви, със скобата съответстваща на същия код: Тоест трябвало е да напишат „N{ jag har sm|rg}sar.“, за да може отсрещната страна, която използва шведски стандарт да види правилното „Nä jag har smörgåsar.“

8-битови[редактиране | редактиране на кода]

Скоро, след като 8, 16 и 32 битовите компютри започват да изместват 18 и 36 битовите, започва и използването на 8 бита за съхранение на символ в паметта. Допълнителния бит позволява двойно да се увеличат ASCII кодовете, като оригиналния ASCII се запази в позиции от 0 до 127. За допълнителните символи са предвидени местата от 128 до 255.

Повечето ранни компютърни системи използват собствени версии на 8 битовата подредба, обикновено съдържащи символи за чертане на различни видове линии или за изобразяване на елементи в игрите. Някои дори подменят дори и контролните символи от 0 до 31. Kaypro CP/M компютрите използват „горните“ 128 символа за гръцката азбука. IBM-ските компютри дефинират code page 437, която подменя контролните символи със графични (напр. усмихнато лице) и добавя още 128 графични символи в разширените позиции. Digital Equipment Corporation разработва Multinational Character Set (DEC-MCS) – първото разширение на ASCII фокусирано върху многоезичната поддръжка, вместо върху символите за рисуване или чертане.

Компанията Макинтош с техния Mac OS Roman, както и разработчиците на Postscript, също дефинират подредби акцентиращи върху чуждоезичните букви и печатарските символи, вместо върху символите с графични елементи.

В крайна сметка стандарта ISO/IEC 8859 (водещ началото си от DEC-MCS) става шаблона, който останалите системи започват да копират (но отново включват по някоя и друга промяна). На този стандарт се базира и известното разширение на Майкрософт – Windows-1252, което добавя печатарските пунктуационни знаци, необходими при принтиране на текст. ISO-8859-1, Windows-1252, и оригиналния 7 битов ASCII са били най-разпространените символни кодировки до 2008 г., когато [UTF-8]] става най-използваната.

ISO/IEC 4873 включва 32 допълнителни контролни символа на позиции от 128 до 159, като необходимост за разширяването на 7 битовото ASCII в 8 битово.

Уникод[редактиране | редактиране на кода]

Unicode и ISO/IEC 10646 Universal Character Set (UCS) разполагат с много по-голям набор от символи, и техните различни форми са започнали да изместват ISO/IEC 8859 и ASCII в много и различни разработки. В Уникод и UCS липсва ограничението на ASCII от 128 символа. При тях, всеки от символите се идентифицира с уникално естествено число наречено code point, а броят им се ограничава единствено от използвания начин на представяне: чрез 8, 16 или 32 бита (съответно наречени UTF-8, UTF-16 и UTF-32).

За да се постигне обратна съвместимост, 256-те символа от ISO-8859-1 (Latin 1) и в частност 128-те символа от ASCII заемат едни и същи позиции в Unicode/UCS таблицата. По този начин ASCII може да се приеме като 7 битово представяне на много малка част от целия Unicode/UCS, а освен това, (когато е предшестван от 0 като 8-ми бит) за ASCII може да се каже, че е валиден UTF-8.

Подредба на символите[редактиране | редактиране на кода]

ASCII таблицата е подредена в свой собствен ред, наричан „ASCIIbetical order“. Сравнението на данни се извършва по този начин, за разлика от традиционната азбучна подредба. Главните разнородности в ASCII подредбата са:

  • Всички главни букви са разположени преди малките. (Напр. „Z“ е преди „а“)
  • Цифрите и много пунктуационни знаци са разположени преди буквите.
  • Цифрите са сортирани като низове (Напр. „10“ предходжа „2“)

Такова сортиране може да бъде избегнато чрез т.нар. „запълване с нули“ (Напр. „02“ ще идва преди „10“)

Източници[редактиране | редактиране на кода]

  1. Pronunciation for ASCII. // Посетен на 2008-04-14.
  2. Dubost, Karl. UTF-8 Growth On The Web. // W3C Blog. World Wide Web Consortium, May 6, 2008. Посетен на 2010-08-15.
  3. Davis, Mark. Moving to Unicode 5.1. // Official Google Blog. Google, May 5, 2008. Посетен на 2010-08-15.
  4. Davis, Mark. Unicode nearing 50% of the web. // Official Google Blog. Google, Jan 28, 2010. Посетен на 2010-08-15.
  5. Brandel, Mary. 1963: The Debut of ASCII. // CNN, July 6, 1999. Посетен на 2008-04-14.
  6. American Standard Code for Information Interchange, ASA X3.4-1963. // American Standards Association, June 17, 1963. Посетен на 2014-05-23.
  7. USA Standard Code for Information Interchange, USAS X3.4-1967. // {{{journal}}}. United States of America Standards Institute, July 7, 1967.
  8. An annotated history of some character codes. // Посетен на 22 January 2015.
  9. American National Standard for Information Systems – Coded Character Sets – 7-Bit American National Standard Code for Information Interchange (7-Bit ASCII), ANSI X3.4-1986. // {{{journal}}}. American National Standards Institute, March 26, 1986.

Външни препратки[редактиране | редактиране на кода]