ASCII
ASCII (енгл. American Standard Code for Information Interchange, изговара се „аски“, скраћеница од „Амерички стандардни код за размену података“) је скуп знакова и кодна страница[1] утемељена на латинском писму какво користи енглески језик и још неки западноевропски језици. Најчешће се користи у рачунарству, али и у комуникационој и управљачкој опреми у раду са текстом.[1] У српском језику популарно се назива ошишана латиница — латиница без квачица на (великим и малим) словима š, ž, č, ć, односно dj уместо đ.
Преглед
[уреди | уреди извор]Слично другим кодовима за представљање писаних знакова, ASCII одређује однос између скупова битова и знакова писаног језика, и омогућава дигиталним уређајима да међусобно комуницирају и обрађују и чувају податке које садрже знакове. Знаковни код ASCII, или његово компатибилно проширење (види ниже), се користи у готово свим рачунарима, нарочито персоналним рачунарима и радним станицама. Препоручени MIME назив за ово кодирање је „US-ASCII“.
ASCII је, строго говорећи, седмобитни код, што значи да користи седам бинарних цифара (у распону од 0 до 127 у декадном систему) за представљање знаковних података. У време када је ASCII био уведен, многи рачунари су користили осмобитне групе (бајтове), или прецизније октете) као најмању јединицу за представљање података. Осми бит је био обично коришћен као бит парности за проверу грешака у преносу података или је имао улогу карактеристичну за дати уређај. Машине које нису користиле парност обично су постављале осми бит на нулу, мада је било и неких система које су постављали осми бит на јединицу.
ASCII не прописује ни на који начин информације о концептуалној структури или изгледу парчета текста. То захтева друге стандарде као што су језици за означавање. Концептуална структура може се додати користећи XML или HTML а изглед користећи CSS за релативно једноставне ствари, SGML за нешто компликованије или PostScript, Display PostScript, или Тех за напредно подешавање изгледа текста и прелома.
ASCII је као стандард први пут објавило Америчко удружење за стандарде (енгл. American Standards Association, ASA) 1963. године, која је касније променила име у ANSI. Постоје разне варијанте ASCII-а, али тренутно најраспрострањенија је ANSI X3.4-1986, такође стандардизована као „ECMA-6, ISO/IEC 646:1991 International Reference Version, ITU-T Recommendation T.50 (09/92)“, и RFC 20. Уграђена је у своју највероватније најбољу замену, уникод, као првих 128 комбинација. Неки рачунарски стручњаци сматрају ASCII најуспешнијим софтверским стандардом икад предлаганим.
Историјски гледано, ASCII се развио из телеграфских кодова и његова прва комерцијална употреба је била као седмобитни телепринтерски код којег је производио Сервис за податке Бел. Систем Бел је имао у плану да користи шестобитни код изведен из кода „Fieldata“ који је увео знакове интерпункције и мала слова у ранији петобитни телепринтерски код Баудот, али су се предомислили и придружили се подкомитету АНСИ-а који се бавио развојем ASCII-а. Код Баудот је служио у слању и примању телеграфских порука и много тога наследио из морзеове азбуке, али је за разлику од ње свака јединица кода била константне дужине. У поређењу са ранијим телеграфским кодовима, предложени код Система Бел и ASCII су били преуређени за погодније сортирање и додате су могућности да се користи и на другим уређајима поред телепринтера. Неке могућности ASCII-а, укључујући искејп секвенце (енгл. Escape sequences), су додате захваљујући Бобу Бемеру.
Управљачки знакови ASCII-а
[уреди | уреди извор]Прва тридесет и два кода у табели ASCII-кодова (од 0 до 31 у декадном систему) су резервисана за такозване управљачке знакове; ови кодови практично не садрже никакве податке за приказ, него управљају излазним уређајима (нпр. штампачима, скенерима, итд.). Тако на пример код који има вредност 10 представља команду „нови ред“, која налаже штампачу да помери папир „нагоре“ за један ред, док код са вредношћу 27 симулира притисак на тастер искејп, лоциран у горњем левом углу тастатуре.
Код 127 (који настаје кад свих 7 битова има вредност 1) је још један специјални знак познат као „бриши“ (енгл. delete). Иако је његова функција слична функцијама осталих управљачких знакова, овај знак означава да треба да се „обрише“ одељак папирне траке, која је до 1980-их била још увек популаран медијум за складиштење података, тако што би се утиснуле све могуће рупе у папир на одговарајућу позицију.
Многи управљачки знакови служе да означе пакете података, или као команде за управљање преносом података (нпр. „Постоји ли нека станица?“, „Потврђујем“, „Не потврђујем“, „Почетак заглавља“, „Почетак текста“, „Крај текста“, итд.). Управљачки знакови искејп и „замени“ дозвољавају протоколу за пренос података да, на пример, означи бинарне податке тако да, ако садрже било какве податке који припадају протоколу за пренос, ови ипак буду обрађени као обични подаци.
„Сепараторски“ знакови требало је да се користе у системима који користе магнетне траке, али су ове испале са тржишта појавом модернијих медијума.
Управљачки знакови XON и XOFF се користе да контролишу ток података са неког брзог уређаја (нпр. рачунара) на неки спор уређај (нпр. штампач) да не би дошло до прескакања и губљења података.
Рани корисници ASCII-а су искористили одређене управљачке знакове да представљају посебне врсте података, као на пример повратак на почетак реда реда, прелазак на почетак/крај блока итд. Употребе су се разликовале, те је један од задатака при превођењу из једног формата података у други обично и правилно превођење ових специјалних знакова. На пример, контролни карактер који представља крај реда се разликује од система до система. Када се подаци пребацују са једног система на други, потребно је исправно препознати и превести ове податке на одредишном систему.
У бинарном систему | У декадном систему | У хексадекадном систему | Скраћеница | Одштампан приказ | Приступ на тастатури | Име/значење |
---|---|---|---|---|---|---|
0000 0000 | 0 | 00 | NUL | ␀ | ^@ | Знак са вредношћу 0 |
0000 0001 | 1 | 01 | SOH | ␁ | ^A | Почетак заглавља |
0000 0010 | 2 | 02 | STX | ␂ | ^B | Почетак текста |
0000 0011 | 3 | 03 | ETX | ␃ | ^C | Крај текста |
0000 0100 | 4 | 04 | EOT | ␄ | ^D | Крај преноса |
0000 0101 | 5 | 05 | ENQ | ␅ | ^E | Захтев |
0000 0110 | 6 | 06 | ACK | ␆ | ^F | Потврда пријема |
0000 0111 | 7 | 07 | BEL | ␇ | ^G | Звонце |
0000 1000 | 8 | 08 | BS | ␈ | ^H | Бекспејс |
0000 1001 | 9 | 09 | HT | ␉ | ^I | Хоризонтални таб |
0000 1010 | 10 | 0A | LF | ␊ | ^J | Знак за нови ред |
0000 1011 | 11 | 0B | VT | ␋ | ^K | Вертикални таб |
0000 1100 | 12 | 0C | FF | ␌ | ^L | Знак за нову страницу |
0000 1101 | 13 | 0D | CR | ␍ | ^M | Повратак на почетак реда |
0000 1110 | 14 | 0E | SO | ␎ | ^N | Извлачење реда |
0000 1111 | 15 | 0F | SI | ␏ | ^O | Увлачење реда |
0001 0000 | 16 | 10 | DLE | ␐ | ^P | Data Link Escape |
0001 0001 | 17 | 11 | DC1 | ␑ | ^Q | Сигнал помоћним уређајима 1 (обично паљење) |
0001 0010 | 18 | 12 | DC2 | ␒ | ^R | Сигнал помоћним уређајима 2 |
0001 0011 | 19 | 13 | DC3 | ␓ | ^S | Сигнал помоћним уређајима 3 |
0001 0100 | 20 | 14 | DC4 | ␔ | ^T | Сигнал помоћним уређајима 4 (обично гашење) |
0001 0101 | 21 | 15 | NAK | ␕ | ^U | Јављање о лошем пријему |
0001 0110 | 22 | 16 | SYN | ␖ | ^V | Помоћни знак за одржавање синхронизованости |
0001 0111 | 23 | 17 | ETB | ␗ | ^W | Крај преносног блока |
0001 1000 | 24 | 18 | CAN | ␘ | ^X | Отказивање |
0001 1001 | 25 | 19 | EM | ␙ | ^Y | Крај медијума |
0001 1010 | 26 | 1A | SUB | ␚ | ^Z | Замјена |
0001 1011 | 27 | 1B | ESC | ␛ | ^[ или ESC | Искејп |
0001 1100 | 28 | 1C | FS | ␜ | ^\ | Знак за структуисање података ниво 4 |
0001 1101 | 29 | 1D | GS | ␝ | ^[ | Знак за структуисање података ниво 3 |
0001 1110 | 30 | 1E | RS | ␞ | ^^ | Знак за структуисање података ниво 2 |
0001 1111 | 31 | 1F | US | ␟ | ^_ | Знак за структуисање података ниво 1 |
0111 1111 | 127 | 7F | DEL | ␡ | DEL или бекспејс | Брисање знака |
Горња табела у петој колони садржи знак који се приказује када се управљачки знак одштампа (уместо интерпретира у складу са његовим значењем); неким браузерима је потребно инсталирати додатне фонтове да би се знак приказао на прави начин.
Шеста колона приказује уобичајене тастере на тастатури које је потребно притиснути да би се унели одговарајући управљачки знакови. У овој колони, капица (^) представља тастер „Контрол“ (Ctrl), који се мора притиснути и држати док се притиска наредни тастер (нпр. ^Z значи да се притисне тастер Контрол и држи док се притиска тастер Z. Поједини програми користе ову репрезентацију да прикажу контролни карактер на екрану, у случају да га не разумеју.
Неки програми за Интернет су имали обичај да преводе управљачки знак за брисање (Delete) у управљачки знак за брисање унатраг (бекспејс) при преносу података на сервер. Ако би нпр. уређивач текста на серверу прихватио овај карактер и не би га разумио, обично је приказивао ^H на месту где је требало да обрише претходни карактер. ^H се због тога и данас користи на духовит начин, нпр. „Сваког минута, роди се потенцијална наивчина^H^H^H^H^H^H^H^H^H муштерија“.
ASCII знакови који увек могу да се одштампају
[уреди | уреди извор]Код 32 се користи за размак (бланко, белину) између две речи, за којег је на тастатури најчешће предвиђен дугачки хоризонтални тастер. Кодови од 33 до 126 се називају штампајућим (енгл. printable) знаковима, који представљају слова, цифре, знакове интерпункције, и још неколико разних симбола.
Седмобитни ASCII је пружао седам „националних“ знакова и, ако и хардвер и софтвер то дозвољавају, може се користити „прекуцавање“ да би се симулирали додатни међународни знакови: после бекспејса се може откуцати обрнути апостроф, тилда или зарез да би се добили одређени знакови.
|
|
|
Може се приметити да се додавањем броја 32 на код неког великог слова може добити исто такво мало слово; у бинарном систему, исто ово се може добити подешавањем шесте бинарне цифре (почевши од бита најмање важности) на 1.
Друге варијанте назива за ASCII
[уреди | уреди извор]Документ RFC 1345, објављен јуна 1992. године, и регистар знаковних скупова IANA, признају следеће варијанте назива ASCII као одговарајуће за коришћење на Интернету (велика/мала слова небитна):
- ANSI_X3.4-1968 — утврђено име
- ANSI_X3.4-1986
- ASCII
- US-ASCII — пожељно (и првенствено за коришћење) MIME име
- us
- ISO646-US
- ISO_646.irv:1991
- iso-ir-6
- IBM367
- cp367
- csASCII
Од ових, само варијанте назива US-ASCII и ASCII су у широкој употреби. Често се налазе у необавезном параметру „charset“ заглавља документа, или у аналогном „meta“ привеску HTML документа, и у декларацији знаковног скупа у уводном делу неких XML докумената.
Варијанте ASCII-а
[уреди | уреди извор]Како се рачунарска технологија ширила светом многи облици ASCII кода развијени су од различитих компанија или организација за стандардизацију како би се изразили и други, не-енглески језици који су користили алфабете засноване на романским словима. Неки од облика могли би се сматрати као ASCII [[Extended ASCII|проширење]], иако је овакво име погрешно примењивано како би се означиле све варијације, укључујући и оне које нису сачувале ASCII мапу знакова у седмобитном опсегу.
ISO 646 (1972) је био први покушај да се исправи енглески утицај, иако је створио проблеме са компатибилношћу, јер је и тај распоред ипак био само седмобитни комплет знакова. На располагању није било других кодова, па су неки преуређени у језично прилагођене варијанте. Тако је постало немогуће разликовати који знак је представљен којим кодом ако се није знало која варијанта је коришћена, а системи за обраду текста су и онако могли да користе само један кодни распоред знакова.
Касније, унапређењем технологије, пронађен је начин да се ослободи осми бит сваког бајта чиме је добијено нових 128 кодних места за знакове са новом наменом. Тако је на пример, IBM увео 8-битну кодну страницу, као што је кодна страница 437, која је заменила управљачке знаке графичким симболима као што су „смешци“ („smilies“), а мапирани (пресликани) су и додатни графички знаци до укупног броја од 128 нових, слободних кодних места. Ове кодне странице подржане су хардвером произвођача IBM PC као и оперативним системом MS-DOS.
Осмобитни стандарди као што је ISO/IEC 8859 су представљали проширења ASCII-а, остављајући првобитни распоред како јесте и само додајући додатне вредности изнад броја 127. Ово је омогућило да се распореди користе у више језика, али су и ови стандарди имали велики проблем са некомпатибилношћу и ограничењима. Данас, најшире коришћени кодни распореди су ISO/IEC 8859-1 и првобитни седмобитни ASCII.
Уникод и ISO/IEC 10646 имају далеко шири избор знакова, и њихове различите форме брзо замењују ISO/IEC 8859 и ASCII у многим окружењима. Док је ASCII креиран као седмобитни код, Уникод и UCS су дефинисани релативно апстрактним „кодним тачкама“: ненегативне целобројне вредности којима одговарају ниске од једног или више бинарних октета, и које се с њима повезују различитим техникама кодирања. Да би се обезбедила подршка за постојеће апликације, првих 128 кодних тачака је резервисано за исте знакове као и у ASCII-у. ASCII се на тај начин може сматрати подскупом Уникода и UCS-а. Популарни скуп знакова UTF-8 предлаже употребу 1-4 бинарних октета за сваки знак, тј. за сваку кодну тачку, и такође има првих 128 знакова истих као у ASCII-у. Други скупови знакова попут UTF-16 такође личе на ASCII по томе како представљају првих 128 знакова, али теже да користе 16 или 32 бита по знаку, те нису у потпуности сагласни са ASCII-ем без додатног превођења.
Види још
[уреди | уреди извор]- Аски уметност
- Бинарне и текстуалне датотеке
- Проширени ASCII
- ISO 8859
- Уникод
- UTF-8
- EBCDIC
- YUSCII
- PETSCII
- ATASCII
- ISCII
- VISCII
- 3568 ASCII, астероид којем је дато име у част ASCII-а
Референце
[уреди | уреди извор]- ^ а б Мишић, Милан, ур. (2005). Енциклопедија Британика. А-Б. Београд: Народна књига : Политика. стр. 75. ISBN 86-331-2075-5.
Спољашње везе
[уреди | уреди извор]- Standard ECMA-6: 7-bit Coded Character Set 6th edition (December 1991)
- IANA Registry: C0 Set of ISO 646
- IANA Registry: ISO 646, USA Version X3.4 — 1968
- ASCII: American Standard Code for Information Infiltration by Tom Jennings
- Jargon File: ASCIIbetical
- Главна страна Боба Бемера, неке историјске белешке аутора ASCII-а
- Водич за изговор знакова ASCII-а