Svaki od ASCII znakova prikazanih ovde jednostavnim bitmapiranim fontom imaju svoje kodne vrednosti, od 89 do 101. Između velikih i malih slova nalaze se šest znakova interpunkcije.
ASCII (skraćenica od „Američki standardni kod za razmenu podataka“ (engleski:American Standard Code for Information Interchange), izgovara se „aski“) jeskup karaktera ikodna stranica utemeljena nalatinskom pismu kakvo koristiengleski jezik i još neki zapadnoevropski jezici. Najčešće se koristi uračunarstvu, ali i u komunikacionoj i upravljačkoj opremi u radu sa tekstom. U srpskom jeziku popularno se nazivaošišana latinica (latinica bez kvačica na slovima š, ž, č, ć, đ).
Slično drugim kodovima za predstavljanje pisanih znakova, ASCII određuje odnos između skupovabitova i znakova pisanog jezika, i omogućava digitalnim uređajima da međusobno komuniciraju i obrađuju i čuvaju podatke koje sadrže znakove. Znakovni kod ASCII, ili njegovo kompatibilno proširenje (vidi niže), se koristi u gotovo svim računarima, naročitopersonalnim računarima iradnim stanicama. PreporučeniMIME naziv za ovo kodiranje je „US-ASCII“.
ASCII je, strogo govoreći, sedmobitni kod, što znači da koristi sedambinarnih cifara (u rasponu od 0 do 127 u dekadnom sistemu) za predstavljanje znakovnih podataka. U vreme kada je ASCII bio uveden, mnogi računari su koristili osmobitne grupe (bajtove), ili preciznijeoktete) kao najmanju jedinicu za predstavljanje podataka. Osmi bit je bio obično korišćen kao bit parnosti za proveru grešaka u prenosu podataka ili je imao ulogu karakterističnu za dati uređaj. Mašine koje nisu koristile parnost obično su postavljale osmi bit na nulu, mada je bilo i nekih sistema koje su postavljali osmi bit na jedinicu.
ASCII ne propisuje ni na koji način informacije o konceptualnoj strukturi ili izgledu parčeta teksta. To zahteva druge standarde kao što su jezici za označavanje. Konceptualna struktura može se dodati koristećiXML iliHTML a izgled koristećiCSS za relativno jednostavne stvari,SGML za nešto komplikovanije iliPostScript,Display PostScript, iliTeh za napredno podešavanje izgleda teksta i preloma.
ASCII je kao standard prvi put objavilo Američko udruženje za standarde (engleski:American Standards Association, ASA)1963. godine, koja je kasnije promenila ime uANSI. Postoje razne varijante ASCII-a, ali trenutno najrasprostranjenija je ANSI X3.4-1986, takođe standardizovana kao „ECMA-6,ISO/IEC 646:1991 International Reference Version,ITU-T Recommendation T.50 (09/92)“, iRFC 20. Ugrađena je u svoju najverovatnije najbolju zamenu,unikod, kao prvih 128 kombinacija. Neki računarski stručnjaci smatraju ASCII najuspešnijim softverskim standardom ikad predlaganim.
Istorijski gledano, ASCII se razvio iztelegrafskih kodova i njegova prva komercijalna upotreba je bila kao sedmobitni teleprinterski kod kojeg je proizvodio Servis za podatke Bel. Sistem Bel je imao u planu da koristi šestobitni kod izveden iz koda „Fieldata“ koji je uveo znakove interpunkcije i mala slova u raniji petobitni teleprinterski kodBaudot, ali su se predomislili i pridružili se podkomitetuANSI-a koji se bavio razvojem ASCII-a. Kod Baudot je služio u slanju i primanju telegrafskih poruka i mnogo toga nasledio izmorzeove azbuke, ali je za razliku od nje svaka jedinica koda bila konstantne dužine. U poređenju sa ranijim telegrafskim kodovima, predloženi kod Sistema Bel i ASCII su bili preuređeni za pogodnije sortiranje i dodate su mogućnosti da se koristi i na drugim uređajima pored teleprintera. Neke mogućnosti ASCII-a, uključujućiiskejp sekvence (engleski:Escape sequences), su dodate zahvaljujućiBobu Bemeru.
Prva trideset i dva koda u tabeli ASCII-kodova (od 0 do 31 u dekadnom sistemu) su rezervisana za takozvaneupravljačke znakove; ovi kodovi praktično ne sadrže nikakve podatke za prikaz, nego upravljaju izlaznim uređajima (npr.štampačima,skenerima, itd.). Tako na primer kod koji ima vrednost 10 predstavlja komandu „novi red“, koja nalaže štampaču da pomeri papir „na gore“ za jedan red, dok kod sa vrednošću 27 simulira pritisak na taster iskejp, lociran u gornjem levom uglutastature.
Kod 127 (koji nastaje kad svih 7 bitova ima vrednost 1) je još jedan specijalni znak poznat kao „briši“ (engleski:delete). Iako je njegova funkcija slična funkcijama ostalih upravljačkih znakova, ovaj znak označava da treba da se „obriše“ odeljak papirne trake, koja je do1980ih bila još uvek popularan medijum za skladištenje podataka, tako što bi se utisnule sve moguće rupe u papir na odgovarajuću poziciju.
Mnogi upravljački znakovi služe da označe pakete podataka, ili kao komande za upravljanje prenosom podataka (npr. „Postoji li neka stanica?“, „Potvrđujem“, „Ne potvrđujem“, „Početak zaglavlja“, „Početak teksta“, „Kraj teksta“, itd.). Upravljački znakovi iskejp i „zameni“ dozvoljavaju protokolu za prenos podataka da, na primer, označi binarne podatke tako da, ako sadrže bilo kakve podatke koji pripadaju protokolu za prenos, ovi ipak budu obrađeni kao obični podaci.
„Separatorski“ znakovi su trebali da se koriste u sistemima koji koriste magnetne trake, ali su ove ispale sa tržišta pojavom modernijih medijuma.
Upravljački znakovi XON i XOFF se koriste da kontrolišu tok podataka sa nekog brzog uređaja (npr. računara) na neki spor uređaj (npr. štampač) da ne bi došlo do preskakanja i gubljenja podataka.
Rani korisnici ASCII-a su iskoristili određene upravljačke znakove da predstavljaju posebne vrste podataka, kao na primer povratak na početak reda reda, prelazak na početak/kraj bloka itd. Upotrebe su se razlikovale, te je jedan od zadataka pri prevođenju iz jednog formata podataka u drugi obično i pravilno prevođenje ovih specijalnih znakova. Na primer, kontrolni karakter koji predstavlja kraj reda se razlikuje od sistema do sistema. Kada se podaci prebacuju sa jednog sistema na drugi, potrebno je ispravno prepoznati i prevesti ove podatke na odredišnom sistemu.
U binarnom sistemu
U dekadnom sistemu
U heksadekadnom sistemu
Skraćenica
Odštampan prikaz
Pristup na tastaturi
Ime/značenje
0000 0000
0
00
NUL
␀
^@
Karakter sa vrednošću 0
0000 0001
1
01
SOH
␁
^A
Početak zaglavlja
0000 0010
2
02
STX
␂
^B
Početak teksta
0000 0011
3
03
ETX
␃
^C
Kraj teksta
0000 0100
4
04
EOT
␄
^D
Kraj prenosa
0000 0101
5
05
ENQ
␅
^E
Zahtev
0000 0110
6
06
ACK
␆
^F
Potvrda prijema
0000 0111
7
07
BEL
␇
^G
Zvonce
0000 1000
8
08
BS
␈
^H
Bekspejs
0000 1001
9
09
HT
␉
^I
Horizontalni tab
0000 1010
10
0A
LF
␊
^J
Znak za novi red
0000 1011
11
0B
VT
␋
^K
Vertikalni tab
0000 1100
12
0C
FF
␌
^L
Znak za novu stranicu
0000 1101
13
0D
CR
␍
^M
Povratak na početak reda
0000 1110
14
0E
SO
␎
^N
Izvlačenje reda
0000 1111
15
0F
SI
␏
^O
Uvlačenje reda
0001 0000
16
10
DLE
␐
^P
Data Link Escape
0001 0001
17
11
DC1
␑
^Q
Signal pomoćnim uređajima 1 (obično paljenje)
0001 0010
18
12
DC2
␒
^R
Signal pomoćnim uređajima 2
0001 0011
19
13
DC3
␓
^S
Signal pomoćnim uređajima 3
0001 0100
20
14
DC4
␔
^T
Signal pomoćnim uređajima 4 (obično gašenje)
0001 0101
21
15
NAK
␕
^U
Javljanje o lošem prijemu
0001 0110
22
16
SYN
␖
^V
Pomoćni znak za održavanje sinhronizovanosti
0001 0111
23
17
ETB
␗
^W
Kraj prenosnog bloka
0001 1000
24
18
CAN
␘
^X
Otkazivanje
0001 1001
25
19
EM
␙
^Y
Kraj medijuma
0001 1010
26
1A
SUB
␚
^Z
Zamjena
0001 1011
27
1B
ESC
␛
^[ ili ESC
Iskejp
0001 1100
28
1C
FS
␜
^\
Znak za struktuisanje podataka nivo 4
0001 1101
29
1D
GS
␝
^[
Znak za struktuisanje podataka nivo 3
0001 1110
30
1E
RS
␞
^^
Znak za struktuisanje podataka nivo 2
0001 1111
31
1F
US
␟
^_
Znak za struktuisanje podataka nivo 1
0111 1111
127
7F
DEL
␡
DEL ili bekspejs
Brisanje znaka
Gornja tabela u petoj koloni sadrži znak koji se prikazuje kada se upravljački znak odštampa (umesto interpretira u skladu sa njegovim značenjem); nekim brauzerima je potrebno instalirati dodatne fontove da bi se znak prikazao na pravi način.
Šesta kolona prikazuje uobičajene tastere na tastaturi koje je potrebno pritisnuti da bi se uneli odgovarajući upravljački znakovi. U ovoj koloni, kapica (^) predstavlja taster „Kontrol“ (Ctrl), koji se mora pritisnuti i držati dok se pritiska naredni taster (npr. ^Z znači da se pritisne taster Kontrol i drži dok se pritiska taster Z. Pojedini programi koriste ovu reprezentaciju da prikažu kontrolni karakter na ekranu, u slučaju da ga ne razumeju.
Neki programi za Internet su imali običaj da prevode upravljački znak za brisanje (Delete) u upravljački znak za brisanje unatrag (bekspejs) pri prenosu podataka na server. Ako bi npr. uređivač teksta na serveru prihvatio ovaj karakter i ne bi ga razumio, obično je prikazivao ^H na mestu gde je trebao da obriše prethodni karakter. ^H se zbog toga i danas koristi na duhovit način, npr. „Svakog minuta, rodi se potencijalna naivčina^H^H^H^H^H^H^H^H^H mušterija“.
Kod 32 se koristi za razmak (blanko, belinu) između dve reči, za kojeg je na tastaturi najčešće predviđen dugački horizontalni taster. Kodovi od 33 do 126 se nazivaju štampajućim (engleski:printable) znakovima, koji predstavljaju slova, cifre, znakove interpunkcije, i još nekoliko raznih simbola.
Sedmobitni ASCII je pružao sedam „nacionalnih“ karaktera i, ako i hardver i softver to dozvoljavaju, može se koristiti „prekucavanje“ da bi se simulirali dodatni međunarodni znakovi: posle bekspejsa se može otkucati obrnuti apostrof, tilda ili zarez da bi se dobili određeni znakovi.
Može se primetiti da se dodavanjem broja 32 na kod nekog velikog slova može dobiti isto takvo malo slovo; u binarnom sistemu, isto ovo se može dobiti podešavanjem šeste binarne cifre (počevši od bita najmanje važnosti) na 1.
DokumentRFC1345, objavljen juna1992. godine, iregistar znakovnih skupova IANA, priznaju sledeće varijante naziva ASCII kao odgovarajuće za korišćenje na Internetu (velika/mala slova nebitna):
ANSI_X3.4-1968 – utvrđeno ime
ANSI_X3.4-1986
ASCII
US-ASCII – poželjno (i prvenstveno za korišćenje) MIME ime
us
ISO646-US
ISO_646.irv:1991
iso-ir-6
IBM367
cp367
csASCII
Od ovih, samo varijante naziva US-ASCII i ASCII su u širokoj upotrebi. Često se nalaze u neobaveznom parametru „charset“ zaglavlja dokumenta, ili u analognom „meta“ taguHTML dokumenta, i u deklaraciji znakovnog skupa u uvodnom delu nekihXML dokumenata.
Kako se računarska tehnologija širila svetom mnogi oblici ASCII koda razvijeni su od različitih kompanija ili organizacija za standardizaciju kao bi se izrazili i drugi, ne-engleski jezici koji su koristili alfabete zasnovane na romanskim slovima. Neki od oblika mogli bi se smatrati kao ASCIIproširenje, iako je ovakvo ime pogrešno primenjivano kako bi se označile sve varijacije, uključujući i one koje nisu sačuvale ASCII mapu znakova u sedmobitnom opsegu.
ISO 646 (1972) je bio prvi pokušaj da se ispravi engleski uticaj, iako je stvorio probleme sa kompatibilnošću, jer je i taj raspored ipak bio samo sedmobitni komplet znakova. Na raspolaganju nije bilo drugih kodova, pa su neki preuređeni u jezično prilagođene varijante. Tako je postalo nemoguće razlikovati koji znak je predstavljen kojim kodom ako se nije znalo koja varijanta je korišćena, a sistemi za obradu teksta su i onako mogli da koriste samo jedan kodni raspored znakova.
Kasnije, unapređenjem tehnologije, pronađen je način da se oslobodi osmi bit svakog bajta čime je dobijeno novih 128 kodnih mesta za znakove sa novom namenom. Tako je na primer,IBM uveo 8-bitnukodnu stranicu, kao što je kodna stranica 437, koja je zamenila upravljačke znake grafičkim simbolima kao što su „smeška“ („smilies“), a mapirani su i dodatni grafički znaci do ukupnog broja od 128 novih, slobodnih kodnih mesta. Ove kodne stranice podržane su hardverom proizvođačaIBM PC kao i operativnim sistemomMS-DOS.
Osmobitni standardi kao što jeISO/IEC 8859 su predstavljali proširenja ASCII-a, ostavljajući originalni raspored kako jeste i samo dodajući dodatne vrednosti iznad broja 127. Ovo je omogućilo da se rasporedi koriste u više jezika, ali su i ovi standardi imali veliki problem sa nekompatibilnošću i ograničenjima. Danas, najšire korišćeni kodni rasporedi suISO/IEC 8859-1 i originalni sedmobitni ASCII.
Unikod iISO/IEC 10646 imaju daleko širi izbor karaktera, i njihove različite forme brzo zamenjuju ISO/IEC 8859 i ASCII u mnogim okruženjima. Dok je ASCII kreiran kao sedmobitni kod, Unikod i UCS su definisani relativno apstraktnim „kodnim tačkama“: nenegativne celobrojne vrednosti kojima odgovaraju niske od jednog ili više binarnih okteta, i koje se s njima povezuju različitim tehnikama kodiranja. Da bi se obezbedila podrška za postojeće aplikacije, prvih 128 kodnih tačaka je rezervisano za iste znakove kao i u ASCII-u. ASCII se na taj način može smatrati podskupom Unikoda i UCS-a. Popularni skup karakteraUTF-8 predlaže upotrebu 1-4 binarnih okteta za svaki znak, tj. za svaku kodnu tačku, i takođe ima prvih 128 znakova istih kao u ASCII-u. Drugi skupovi karaktera poputUTF-16 takođe liče na ASCII po tome kako predstavljaju prvih 128 znakova, ali teže da koriste 16 ili 32 bita po znaku, te nisu u potpunosti saglasni sa ASCII-em bez dodatnog prevođenja.