1. Osnovi informatike i računarstva
P5: Predstavljanje nenumeričkih podataka u računaru
Doc. dr Aleksandar Spasić, dipl.inž.el.
2. Sadržaj teme
5. PREDSTAVLJANJE NENUMERIČKIH PODATAKA U RAČUNARU
5.1. Predstavljanje znakovnih podataka (ASCII, EBCDIC, UNICODE)
5.2. Predstavljanje zvuka u računaru
5.3. Predstavljanje slika u računaru
5.4. Predstavljanje video zapisa u računaru
3. 5.1. Predstavljanje znakovnih podataka u
računaru
U znakovne (alfanumeričke) podatke spadaju velika i mala slova,
cifre, specijalni znaci, kao i izvesni znaci koji služe za upravljanje radom
ulazno-izlaznih uređaja, za formatiranje podataka i sl.
Osnovna namena znakovnih podataka je da omoguće da se u računaru
predstavi i obrađuje tekst. Pošto je tekst jedini zapis koji čovek može da
razume (čita ili piše), čovek obično, i numeričke podatke saopštava
računaru kao tekst koji se zatim transformiše u neki od formata za
predstavljanje numeričkih podataka i nakon završene obrade, rezultati
se ponovo transformišu u tekstualni zapis i tako prikazuju korisniku.
Za predstavljanje znakovnih podataka u računaru koriste se različiti
binarni kodovi od kojih su najpoznatiji:
• ASCII (American Standard Code for Information Interchange),
• EBCDIC (Extended Binary Coded Decimal Interchange Code) i
• UNICODE.
4. 5.1. Predstavljanje znakovnih podataka u
računaru
5.1.1 ASCII kod
ASCII kod je usvojen od strane
Međunarodne organizacije za
standardizaciju (Interational
Standardization Organization) pod
nazivom ISO 7. Ovo je 7-bitni kod, što
znači da kodna tablica sadrži 128 znakova.
S obzirom da je najmanja memorijska
jedinica koja se adresira u računaru
veličine 1 bajt, za predstavljanje ASCII
kodova u računaru se koristi ceo bajt, pri
čemu se bit najmanje težine ili koristi za
kontrolu parnosti, ili za proširenje ASCII
tabele dodatnim znacima karakterističnim
za pojedine jezike. Kodna tablica
osnovnog ASCII koda prikazana je u tabeli.
5. 5.1. Predstavljanje znakovnih podataka u
računaru
5.1.1 ASCII kod
Do nedavno je ASCII kod bio najkorišćeniji kod u računarstvu.
Međutim, njegov osnovni nedostatak je bio nemogućnost da podrži
različite svetske jezike. Za jezike čije se pismo nije znatno
razlikovalo od engleskog, uvođene su modifikacije ASCII tabele tako
da su pojedini specijalni znaci zamenjivani karakterističnim slovima
samo za tu azbuku. Na primer, standardom JUS I.B1.002 definisana
je verzija ASCII tabele za naše latinično pismo.
Očigledan nedostatak ovakvih izmena osnovne ASCII tabele je da
kada se koristi srpsko pismo ne mogu se upotrebljavati svi specijalni
znaci. Zato se danas dominantno koriste UNICODE varijante.
6. 5.1. Predstavljanje znakovnih podataka u
računaru
5.1.2 EBCDIC kod
Prošireni binarno kodirani decimalni kod za razmenu (EBCDIC
/ˈɛbsɪdɪk/ - Extended Binary Coded Decimal Interchange Code) je
način osmobitnog kodiranja znakova koje se uglavnom koristi(lo) na
IBM mainframe i IBM računarskim sistemima srednjeg opsega. Potiče
od koda koji se koristio sa bušenim karticama i odgovarajućeg
šestobitnog binarno kodiranog decimalnog koda koji se koristio na
većini IBM-ovih računarskih perifernih uređaja kasnih 1950-ih i ranih
1960-ih.
7. 5.1. Predstavljanje znakovnih podataka u
računaru
5.1.3 UNICODE
UNICODE je nastao iz težnje da se omogući da se u jedinstvenoj tabeli
nađu kodovi za simbole iz svih svetskih jezika te da je pomoću njega
moguće bez problema kreirati višejezične dokumente.
Prva standardizovana verzija ovog koda je UCS-2 (2-byte Universal
Character Set) u kojoj su kodne reči dužine 2 bajta. To znači da kodna
tablica sadrži 216= 65536 kodnih reči (tj. karaktera). Kodne reči su u
opsegu 0000-FFFF (heksadekadno). Prvih 27 kodnih reči iz ovog
prostora odgovara istim karakterima kao i u ASCII tabeli.
Ono što je loše kod ovog standarda je da se za smeštanje znakovnih
podataka troši previše memorijskog prostora (za svaki karakter 2
bajta), a realno, u velikom broju slučajeva koriste se samo karakteri sa
početka tabele (karakteri koji postoje u ASCII tabeli ili u proširenoj
ASCII tabeli).
8. 5.1. Predstavljanje znakovnih podataka u
računaru
5.1.3 UNICODE
Zato su uvedeni i algoritmi za preslikavanje kodova u nizove bitova
promenljive dužine. Ovi algoritmi su poznati kao UTF (Unicode
Transformation Format). Dužina finalnog koda (nakon
transformacije) je celobrojni umnožak dužine osnovne kodne
jedinice pa ovi algoritmi u svojoj oznaci nose i dužinu osnovne kodne
jedinice.
Danas je najkorišćeniji UTF-8 algoritam (8-bit Unicode
Transformation Format), a razvijeni su i standardi UTF-16 i UTF-32.
UTF-8 algoritam preslikava kodne reči UCS-2 tabele u niske dužine
1, 2 ili 3 osnovne kodne jedinice (tj. u niske dužine 1, 2 ili 3 bajta).
9. 5.1. Predstavljanje znakovnih podataka u
računaru
5.1.3 UNICODE
Sve kodne reči koje u sebi imaju do 7 značajnih cifara preslikavaju
se u nizove dužine 1B. Kodne reči koje imaju između 8 i 11
značajnih cifara u svom zapisu, preslikavaju se u kodne reči dužine
2B. Kodne reči koje u svom zapisu imaju više od 11 značajnih cifara
preslikavaju se u niske dužine 3B. Tablica preslikavanja UCS-2
kodnih reči po UTF-8 algoritmu prikazana je u tabeli.
10. 5.1. Predstavljanje znakovnih podataka u
računaru
5.1.3 UNICODE
S obzirom da se i prostor od 216 smatra malim u budućnosti za
kodiranje znakova svih svetskih jezika razvijen je i standard UCS-4 u
kojem je dužina dužina kodne reči 4 bajta (32 bita). Po ovom
standardu bi se svi kodovi delili u kodne strane. Prvih 16 bitova u
kodu predstavljalo bi oznaku kodne strane, a preostalih 16 kod
odgovarajućeg znaka u okviru te kodne strane. Za sada je
definisana samo prva kodna strana i u njoj su smešteni karakteri koji
postoje u standardu UCS-2. Preslikavanjem kodnih reči iz UCS-4
tabele po UTF-8 algoritmu dobile bi se kodne reči dužine od 1 do
čak 6 bajtova. Standard UCS-4 još uvek nije doživeo punu praktičnu
primenu.