ASCII

скуп знакова и кодна страница утемељена на латинском писму какво користи енглески језик и још неки западноевропски језици

ASCII (енгл. American Standard Code for Information Interchange, изговара се „аски“, скраћеница од „Амерички стандардни код за размену података“) је скуп знакова и кодна страница[1] утемељена на латинском писму какво користи енглески језик и још неки западноевропски језици. Најчешће се користи у рачунарству, али и у комуникационој и управљачкој опреми у раду са текстом.[1] У српском језику популарно се назива ошишана латиницалатиница без квачица на (великим и малим) словима š, ž, č, ć, односно dj уместо đ.

Сваки од ASCII знакова приказаних овде једноставним битмапираним фонтом имају своје кодне вредности, од 89 до 101. Између великих и малих слова налазе се шест знакова интерпункције.

Преглед

Слично другим кодовима за представљање писаних знакова, 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 0000000NUL^@Знак са вредношћу 0
0000 0001101SOH^AПочетак заглавља
0000 0010202STX^BПочетак текста
0000 0011303ETX^CКрај текста
0000 0100404EOT^DКрај преноса
0000 0101505ENQ^EЗахтев
0000 0110606ACK^FПотврда пријема
0000 0111707BEL^GЗвонце
0000 1000808BS^HБекспејс
0000 1001909HT^IХоризонтални таб
0000 1010100ALF^JЗнак за нови ред
0000 1011110BVT^KВертикални таб
0000 1100120CFF^LЗнак за нову страницу
0000 1101130DCR^MПовратак на почетак реда
0000 1110140ESO^NИзвлачење реда
0000 1111150FSI^OУвлачење реда
0001 00001610DLE^PData Link Escape
0001 00011711DC1^QСигнал помоћним уређајима 1 (обично паљење)
0001 00101812DC2^RСигнал помоћним уређајима 2
0001 00111913DC3^SСигнал помоћним уређајима 3
0001 01002014DC4^TСигнал помоћним уређајима 4 (обично гашење)
0001 01012115NAK^UЈављање о лошем пријему
0001 01102216SYN^VПомоћни знак за одржавање синхронизованости
0001 01112317ETB^WКрај преносног блока
0001 10002418CAN^XОтказивање
0001 10012519EM^YКрај медијума
0001 1010261ASUB^ZЗамјена
0001 1011271BESC^[ или ESCИскејп
0001 1100281CFS^\Знак за структуисање података ниво 4
0001 1101291DGS^[Знак за структуисање података ниво 3
0001 1110301ERS^^Знак за структуисање података ниво 2
0001 1111311FUS^_Знак за структуисање података ниво 1
0111 11111277FDELDEL или бекспејсБрисање знака

Горња табела у петој колони садржи знак који се приказује када се управљачки знак одштампа (уместо интерпретира у складу са његовим значењем); неким браузерима је потребно инсталирати додатне фонтове да би се знак приказао на прави начин.

Шеста колона приказује уобичајене тастере на тастатури које је потребно притиснути да би се унели одговарајући управљачки знакови. У овој колони, капица (^) представља тастер „Контрол“ (Ctrl), који се мора притиснути и држати док се притиска наредни тастер (нпр. ^Z значи да се притисне тастер Контрол и држи док се притиска тастер Z. Поједини програми користе ову репрезентацију да прикажу контролни карактер на екрану, у случају да га не разумеју.

Неки програми за Интернет су имали обичај да преводе управљачки знак за брисање (Delete) у управљачки знак за брисање унатраг (бекспејс) при преносу података на сервер. Ако би нпр. уређивач текста на серверу прихватио овај карактер и не би га разумио, обично је приказивао ^H на месту где је требало да обрише претходни карактер. ^H се због тога и данас користи на духовит начин, нпр. „Сваког минута, роди се потенцијална наивчина^H^H^H^H^H^H^H^H^H муштерија“.

ASCII знакови који увек могу да се одштампају

Код 32 се користи за размак (бланко, белину) између две речи, за којег је на тастатури најчешће предвиђен дугачки хоризонтални тастер. Кодови од 33 до 126 се називају штампајућим (енгл. printable) знаковима, који представљају слова, цифре, знакове интерпункције, и још неколико разних симбола.

Седмобитни ASCII је пружао седам „националних“ знакова и, ако и хардвер и софтвер то дозвољавају, може се користити „прекуцавање“ да би се симулирали додатни међународни знакови: после бекспејса се може откуцати обрнути апостроф, тилда или зарез да би се добили одређени знакови.

У бинарном системуУ декадном системуУ хексадекадном системуПриказ
0010 00003220Размак (␠)
0010 00013321!
0010 00103422"
0010 00113523#
0010 01003624$
0010 01013725%
0010 01103826&
0010 01113927'
0010 10004028(
0010 10014129)
0010 1010422A*
0010 1011432B+
0010 1100442C,
0010 1101452D-
0010 1110462E.
0010 1111472F/
0011 000048300
0011 000149311
0011 001050322
0011 001151333
0011 010052344
0011 010153355
0011 011054366
0011 011155377
0011 100056388
0011 100157399
0011 1010583A:
0011 1011593B;
0011 1100603C<
0011 1101613D=
0011 1110623E>
0011 1111633F?
 
У бинарном системуУ декадном системуУ хексадекадном системуПриказ
0100 00006440@
0100 00016541A
0100 00106642B
0100 00116743C
0100 01006844D
0100 01016945E
0100 01107046F
0100 01117147G
0100 10007248H
0100 10017349I
0100 1010744AJ
0100 1011754BK
0100 1100764CL
0100 1101774DM
0100 1110784EN
0100 1111794FO
0101 00008050P
0101 00018151Q
0101 00108252R
0101 00118353S
0101 01008454T
0101 01018555U
0101 01108656V
0101 01118757W
0101 10008858X
0101 10018959Y
0101 1010905AZ
0101 1011915B[
0101 1100925C\
0101 1101935D]
0101 1110945E^
0101 1111955F_
 
У бинарном системуУ декадном системуУ хексадекадном системуПриказ
0110 00009660`
0110 00019761a
0110 00109862b
0110 00119963c
0110 010010064d
0110 010110165e
0110 011010266f
0110 011110367g
0110 100010468h
0110 100110569i
0110 10101066Aj
0110 10111076Bk
0110 11001086Cl
0110 11011096Dm
0110 11101106En
0110 11111116Fo
0111 000011270p
0111 000111371q
0111 001011472r
0111 001111573s
0111 010011674t
0111 010111775u
0111 011011876v
0111 011111977w
0111 100012078x
0111 100112179y
0111 10101227Az
0111 10111237B{
0111 11001247C|
0111 11011257D}
0111 11101267E~

Може се приметити да се додавањем броја 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-ем без додатног превођења.

Види још

Референце

Спољашње везе