Računala koriste brojeve. Ljudi koriste slova i simbole. Trebamo most. ASCII je taj most. ASCII pretvara svako slovo ili simbol u broj. Računalo pohranjuje broj. Kada čitamo, računalo ponovno prikazuje slovo. Ovako tekst funkcionira u mnogim datotekama i aplikacijama.
Računalo radi na struju. Vidi dva stanja. Uključeno i Isključeno. Ta stanja nazivamo bitovima . Bit je 0 ili 1. Mnogo bitova zajedno čini veće brojeve. Osam bitova čini bajt . Pomoću bitova možemo brojati. Brojanjem možemo imenovati stvari. ASCII koristi brojanje za imenovanje slova i simbola.
Jedan bit daje dva izbora. Dva bita daju četiri izbora. U matematici se ova ideja prikazuje kao \(\;2^n\) . Za \(n=7\) dobivamo \(2^7 = 128\) izbora. Za \(n=8\) dobivamo \(2^8 = 256\) izbora. ASCII koristi 7 bitova. To daje 128 imenovanih stavki. Ljudi su kasnije napravili 8-bitne skupove s 256 stavki. Oni se nazivaju prošireni ASCII .
ASCII je kratica za Američki standardni kod za razmjenu informacija (American Standard Code for Information Interchange) . Počeo je 1960-ih. Napravljen je za rane pisače, teleprintere i računala. Svakom slovu, broju, razmaku i nekim simbolima daje broj. Također daje posebne brojeve radnjama poput novog retka . Prva verzija koristila je 7 bitova, pa je imala brojeve od 0 do 127.
Primijetite nešto zgodno. Mala slova su 32 veća od svog para velikih slova. Na primjer, \(\;97 - 65 = 32\) . Dakle, 'a' je 32 veći od 'A'. 'b' je 32 veći od 'B' i tako dalje. Ovaj uzorak olakšava neke računalne zadatke.
Kada pritisnete tipku Enter, vaše računalo može poslati LF ili CR ili oboje, ovisno o sustavu. Mnogi internetski alati koriste LF. Neki stari sustavi koristili su CR i LF zajedno.
Brojeve možemo pisati na različite načine. Decimalni sustav je uobičajeni način brojanja, koristeći znamenke od 0 do 9. Binarni sustav koristi samo 0 i 1. Heksadecimalni sustav koristi 0 do 9 i A do F.
Kako binarni sustav daje 65 za 'A'? Pogledajte bitove u 01000001. Krajnji lijevi bit je za 128. Zatim 64, 32, 16, 8, 4, 2, 1. Samo su 64 i 1 uključeni. Dakle \(01000001_{(2)} = 0\times128 + 1\times64 + 0\times32 + 0\times16 + 0\times8 + 0\times4 + 0\times2 + 1\times1 = 65\) .
Pritisnite tipku. Tipkovnica šalje kod računalu. Sustav ga pretvara u znak ili broj. Za mnoge tipke taj je broj ASCII broj. Aplikacija pohranjuje broj u memoriju. Kada prikaže tekst, traži broj i crta slovo. Kada spremite, brojevi se spremaju u datoteku.
Zamislite poruku Hi!. Slova su H, i i !. Njihovi ASCII brojevi su 72, 105 i 33. U binarnom sustavu to su 01001000, 01101001 i 00100001. Mreža šalje ove bitove. Druga strana čita bitove. Vidi brojeve. Ponovno prikazuje H, i i !. Tako se kreću jednostavne tekstualne poruke.
Ljudi su željeli više simbola. Željeli su slova poput é, ñ i ø. Željeli su znakove za novac poput €. Skup od 7 bitova imao je samo 128 simbola. Stoga su ljudi koristili 8 bitova. S 8 bitova dobivamo \(2^8 = 256\) simbola. Gornja polovica, od 128 do 255, korištena je za dodatna slova i simbole. Ali postojao je problem. Različite skupine odabrale su različite brojeve za ta dodatna slova. Ti se izbori nazivaju kodne stranice .
Budući da se kodne stranice razlikuju, isti broj može prikazivati drugačiji simbol na drugom računalu. Ta se zbrka naziva mojibake . Izgleda kao čudni znakovi. To je jedan od razloga zašto je svijet prešao na Unicode.
Unicode je veliki standard koji može prikazati mnoge jezike, matematičke simbole i emotikone. Ima prostora za više od milijun simbola. Postoji mnogo načina za pohranu Unicodea. Jedan popularan način je UTF-8 .
Kod teksta koji koristi samo ASCII, svaki znak koristi jedan bajt. Dakle, riječ mačka koristi 3 bajta. Izraz hi mama ima 6 znakova uključujući razmak, pa koristi 6 bajtova. Jednostavnom matematikom, \(\textrm{ASCII bajtovi} = \textrm{broj znakova}\) .
Računala često sortiraju nizove znakova prema broju znakova. ASCII redoslijed grupira stvari na određeni način.
To znači da Zoo dolazi prije Applea ako uspoređujemo jednostavne ASCII vrijednosti. Sortiranje je po brojevima, a ne po tome kako riječi zvuče.
Primijetite da je ampersand &. Njegov ASCII broj je 38. Znak plus + je 43. Znak minus - je 45.
Ljudi izrađuju slike koristeći samo znakove. To se zove ASCII umjetnost . Evo malog lica napravljenog od ASCII znakova.
:-) Jednostavan osmijeh
(^_^) Prijateljsko lice
o_O Iznenađen/a
Svaka strana je samo znakovi poput dvotočke, crtice i zagrada. Nema boja ili oblika. Samo tekst.
ASCII se razvio iz teleprintera i ranih računala. Prva verzija je dogovorena 1963. godine. Pomogao je mnogim različitim strojevima da međusobno komuniciraju. S jednim zajedničkim kodom, slovo poput A značilo je isti broj svugdje. To je olakšalo slanje poruka i ispis teksta.
ASCII ima samo 128 stavki. To nije dovoljno za sve jezike. Ne može prikazati kineski, hindski, arapski ili mnoga druga pisma. Ne može prikazati emojije. Također ne može prikazati mnoge matematičke i glazbene simbole. Za njih koristimo Unicode. Unicode može prikazati mnoga pisma i simbole. UTF-8 je način njihovog pohranjivanja. Dobra vijest je da sav ASCII tekst radi unutar UTF-8. Dakle, moderni sustavi mogu lako čitati stari ASCII.
Većina aplikacija očekuje UTF-8. Ali kada datoteka ima samo ASCII slova i simbole, izgleda isto i pod UTF-8. Programerima se to sviđa jer pojednostavljuje stvari. Web stranice, API-ji i mnogi alati koriste UTF-8, koji uključuje ASCII bez promjena.
ASCII je 7-bitni skup. To znači do \(2^7 = 128\) različitih znakova. Prošireni skup s 8 bitova ima \(2^8 = 256\) stavki. Ako vaš tekst ima samo ASCII znakove i ima \(n\) znakova, tada koristi \(n\) bajtova. U maloj poruci poput OK , \(n = 2\) . Dakle, koristi 2 bajta kada se pohranjuje kao ASCII ili UTF-8.
Neke ASCII stavke izvršavaju radnje, ali se ne ispisuju. Razmak ispisuje prazno. Ali LF i CR pomiču kursor. TAB skače. Kada otvorimo datoteku u posebnom editoru, LF se može prikazati kao \n. Taj simbol nije dio samog ASCII-ja. To je način na koji vam editor prikazuje prijelom retka.
Zamislite uređaj za ispisivanje naljepnica koji ispisuje imena. Čita imena kao znakove. Svaki znak pretvara u ASCII brojeve. Pohranjuje te brojeve u memoriju. Ispisuje slova tražeći kako nacrtati svaki broj. Ako se susretne s LF (10), prelazi u sljedeći redak prije ispisivanja daljnjeg retka.
Ponovno pogledajte znak '!'. Njegov kod možemo napisati na tri načina. Decimalno: 33. Binarno: 00100001. Heksadecimalno: 21. U matematičkom obliku, \(\;33_{(10)} = 00100001_{(2)} = 21_{(16)}\) . Svaki oblik je ista vrijednost. Aplikacije biraju oblik koji im je potreban. Ljudi često čitaju decimalno. Računala vole binarni oblik. Heksadecimalno je skraćeni način za ljude da čitaju binarne brojeve.
ASCII je malen i jasan. Napravljen je rano. Mnogi alati i protokoli izgrađeni su na njemu. Budući da prvih 128 Unicode kodova odgovara ASCII-ju, plan i danas funkcionira. Zato možete otvoriti vrlo stare tekstualne datoteke na novom telefonu ili prijenosnom računalu i vidjeti ista slova.
Otvorite datoteku s tekstom Hello . Bajtovi su ASCII brojevi 72 101 108 108 111. U binarnom sustavu to su 01001000 01100101 01101100 01101100 01101111. Aplikacija čita svaki broj i crta Hello na zaslonu. Ako je sljedeći broj 10, pomiče se u novi redak prije crtanja daljnjeg teksta. Ovako je proces jednostavan i stabilan.
Zamislite broj 10. U binarnom sustavu to je 00001010. U decimalnom sustavu to je deset. U ASCII sustavu, 10 je LF, znak za pomicanje retka. To pokazuje kako se isti broj može prikazati na različite načine. Značenje dolazi od načina na koji koristimo broj. Ako kažemo da je to kod znaka, onda 10 znači LF. Ako kažemo da je to samo brojanje jabuka, onda je to deset jabuka. Kontekst je važan.
Poslat ćemo riječ Sun s jednog uređaja na drugi. Kodovi su 'S' 83, 'u' 117, 'n' 110. U binarnom sustavu, 83 je 01010011, 117 je 01110101, 110 je 01101110. Bitovi putuju kao signali Uključeno i Isključeno. Drugi uređaj pretvara bitove natrag u brojeve. Zatim pretvara brojeve u slova. Prikazuje riječ Sun. Ako je sljedeći kod 32, to je razmak. Ako je sljedeći 33, to je '!'. Pravila ostaju ista svaki put. To je snaga dijeljenog koda.