уторак, 21. април 2015.

Šta je ASCII a šta Unicode?

Svi podaci u računaru, mogu imati samo dva stanja, 0 ili 1. Bit. Znači računari su bazirani na binarnim brojevima ili bitovima. Bajt sadrži 8 bitova. Računar upisuje bajtove različitih dužina u registar. Svaki registar ima svoju adresu u memoriji. Memorija vam je u stvari sklop koji prihvata i trajno pamti binarne brojeve. Svaki red u memoriji ima svoju adresu. Adrese nisu ograničene na bajt. One mogu imati i po više bajtova, znači i po 16 bitova, i po 32 bita i više.  


( Slika devojke slikana ASCII karakterima )

Bit je najmanja jedinica informacije u računaru, ali bajt je najmanja adresibilna jedinica u memoriji. Bajtom izražavamo kapacitet memorije. Veće jedinice od bajta su:

  • 1 KB – 1 kilobajt = 1024 bajta
  • 1 MB – 1 megabajt = 1024 kilobajta
  • 1 GB – 1 gigabajt = 1024 megabajta
  • 1 TB – 1 terabajt = 1024 terabajta


i druge.

Ali šta je sad tu ASCII?



ASCII vam je samo jedan kod za predstavljanje znakova, postoje i drugi poput BCD. Znači ASCII je standard za razmjenu informacija. To je skraćenica za American Standard Code for Information Interchange. Skraćeno ga čitamo „Aski“. S obzirom da koristi samo engleski alfabet, tj. 26 slova engleske abecede, nazivamo ga i „Ošišana latinica“, kao latinica bez slova sa kvačicama.
ASCII je kao standard prvi put objavilo ASA – American Standards Association, 1963 godine koja je kasnije promenila ime u ANSI – American National Standards Institute.

Prva stvar koju treba da znate o ASCII jeste da je on baziran na 7 bitova i ne na 8 kao što bi ste očekivali. Prvi bit od 8 je uvek prazan ili 0, pa zato ASCII ima 128 kombinacija, 0 – 127.


( ASCII sa označenim kontrolnim znakovima )

U engleskom jeziku imate 26 slova. Međutim da bi računar razlikovao velika i mala slova, samo engleski alfabet zauzima 52 mesta u ASCII. Numerički znakovi od 0 – 9 uzimaju još 10. Specijalni znakovi poput ?!.,“… itd. zauzimaju 32. Tu je i prazno mesto 1. Svi zajedno zauzimaju 95 mesta.
Za ostalih 32 mesta su rezervisani kontrolni znakovi, poput „Enter“ ili „Backspace“.


( Prikaz rezervacije pozicija u ASCII rasporedu )

Verovatno bi ste očekivali da na primer posle velikih slova za redom dođu mala slova, ali pozicije ASCII znakova su prilagođene binarnim brojevima. ASCII počinje dekadnom 0 ili 0000000 binarno dok se završava na 127 ili 1111111.

Numerički brojevi od 0 do 9 zauzimaju pozicije od 48 do 57. Vama to može izgledati nelogično ali ako pogledate binarni kod, pogledajte na slici, onda će te videti logiku.


( Binarni prikaz brojeva u ASCII )

Isto tako velika slova počinju od 65 pozicije, dok mala od 97. Kad pogledate binarni kod onda vidite i smisao.


( Binarni prikaz razlike malih i velikih slova engleskog alfabeta u ASCII )

Ovo je prikaz cele ASCII tabele. Pogledajte jasnije i binarnu tabelu ovde.

Međutim, šta je sa našim slovima. Prvi pokušaj da se ispravi uticaj engleskog jezika bio je 1972 godine ali je stvorio problem sa kompatibilnošću. IBM je posle napravio 8-bit-ni ASCII, kodna stranica 437, koja se inače zvala prošireni ASCII, i ona je ugrađena u DOS. Prošireni ASCII se jednostavno  omogućavao da se dodatnih 127 kombinacija koristi da se rasporedi više jezika u vidu više kodnih stranica. Ali je i to dovelo do komplikacija sa kompatibilnošću.

Rešenje je došlo u vidu Uncode-a!

Uncode predstavlja svaki simbol sa jednom kodnom tačkom, tj. celim brojem. Takođe koristi više načina kodiranja poput UTF 7, 8, 16, 32 ili UTF-EBCDIC za EBCDIC kodnu šemu. Danas svi prihvataju Unicode standard. Uncode verzija 6.0 prihvata čak 109 384 karaktera i ne postoji nekompatibilnost.  


( Character Map, Uncode )