Zapisivanje teksta
Transcript of Zapisivanje teksta
![Page 1: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/1.jpg)
1
Zapisivanje tekstaZapisivanje teksta u računaru u računaru
Uvod u organizaciju računara
![Page 2: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/2.jpg)
Uvod u organizaciju računara 2
Šta je to tekst?Šta je to tekst?
Tekst (ili dokument) je – "informacija namenjena ljudskom
sporazumevanju koja može biti prikazana u dvodimenzionalnom obliku... Tekst se sastoji od grafičkih elemenata kao što su karakteri, geometrijski ili fotografski elementi ili njihove kombinacije, koji čine sadržaj dokumenta." (ISO-definicija)
![Page 3: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/3.jpg)
Uvod u organizaciju računara 3
Tekst je niz karakteraTekst je niz karaktera
Iako obično tekst zamišljamo kao dvodimenzioni objekat, u računarima se tekst predstavlja kao jednodimenzioni (linearni) niz karaktera.
Potrebno je, dakle, uvesti specijalne karaktere koji označavaju prelazak u novi red, tabulator, kraj teksta i slično
![Page 4: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/4.jpg)
Uvod u organizaciju računara 4
Zapis karaktera u računaruZapis karaktera u računaru
Računari su zasnovani na binarnoj aritmetici
Cele brojeve je moguće predstaviti u binarnom sistemu
Osnovna ideja je svakom karakteru pridružiti odredjeni ceo broj na unapred dogovoreni način
Ove brojeve zovemo kodovima karaktera (character codes)
![Page 5: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/5.jpg)
Uvod u organizaciju računara 5
Koliko karaktera želimo da Koliko karaktera želimo da predstavimo u računarima?predstavimo u računarima?
Tokom razvoja računarstva broj karaktera je postajao sve veći
Pošto je u početku razvoja englesko govorno područje bilo dominantno osnovno je bilo predstaviti sledeće karaktere:
![Page 6: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/6.jpg)
Uvod u organizaciju računara 6
Englesko govorno područjeEnglesko govorno područje
Velika slova engleskog alfabeta : A,B,...,Z Mala slova engleskog alfabeta : a,b,...,z Cifre : 0,1,...,9 Interpunkcijske znake : .,:;’+*-_ i slično Specijalne znake : kraj reda, tabulator i
slično
![Page 7: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/7.jpg)
Uvod u organizaciju računara 7
Standardni karakterski kodoviStandardni karakterski kodovi
Sedamdesetih godina su se pojavile tabele standardnih karakterskih kodova dovoljne za zapis pomenutih karaktera
Najpoznatiji su • EBCDIC – IBM-ov standard, korišćen
uglavnom na mainframe računarima, pogodan za bušene kartice
• ASCII – Standard iz koga se razvila većina današnjih standarda
![Page 8: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/8.jpg)
Uvod u organizaciju računara 8
ASCIIASCII
ASCII (American Standard Code for Information Interchange)
ASCII sedmobitan (broj karaktera je 128)
![Page 9: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/9.jpg)
Uvod u organizaciju računara 9
ASCII tabelaASCII tabela
![Page 10: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/10.jpg)
Uvod u organizaciju računara 10
PrimeriPrimeri
Karakter A se zapisuje kao (41)16 tj. 0x41 što je (65)10 tj. (1000001)2
Razmak se zapisuje kao (20)16 što je (32)10 tj. (0100000)2
Zapišite cifru 3 u ASCII koduZapišite tekst Fakultet u ASCII kodu
![Page 11: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/11.jpg)
Uvod u organizaciju računara 11
Oznaka za kraj redaOznaka za kraj reda
Oznaka za kraj reda se ne zapisuje isto u svim operativnim sistemima
Pod Windows ova se oznaka se zapisuje sa dva karaktera (CR LF), 0xD 0xA tj. 13 10 – istorijski razlozi (stari štampači)
Unix koristi samo karakter CR tj. 0xD
![Page 12: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/12.jpg)
Uvod u organizaciju računara 12
Šta sa ostalim jezicima?Šta sa ostalim jezicima?
Razvojem računarstva se javlja potreba kodiranja tekstova i na drugim jezicima
Kroz istoriju su postojala mnoga rešenja, od kojih su se neka zadržala, a neka su nestala
![Page 13: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/13.jpg)
Uvod u organizaciju računara 13
Kodne straneKodne strane
Pod kodnom stranom (Code page) tj. skupom karaktera (Character set, charset) podrazumevamo uredjenu listu karaktera predstavljenih svojim karakterskim kodovima
![Page 14: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/14.jpg)
Uvod u organizaciju računara 14
Kodne straneKodne strane
Podaci se u računarima obično zapisuju bajt po bajt
ASCII je sedmobitni standard ASCII karakteri se zapisuju tao što se u
svakom bajtu bit najveće težine postavi na 0
To ostavlja prostor za novih 128 karaktera čiji binarni zapis počinje sa 1
![Page 15: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/15.jpg)
Uvod u organizaciju računara 15
Kodne straneKodne strane Ovaj prostor se može popuniti na razne
načine Rešenje nije univerzalno, jer svakako na
svetu postoji više od 256 različitih karaktera
Postavljeni su razni standardi dopunjavanja ovih 128 karaktera
Svim ovim kodnim stranama je zajedničko prvih 128 karaktera i oni se poklapaju sa ASCII
![Page 16: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/16.jpg)
Uvod u organizaciju računara 16
Kodne straneKodne strane
Ovako napravljene kodne strane obično omogućuju kodiranje tekstova na više srodnih jezika (obično i geografski bliskih)
Nama su uglavnom važne kodne strane napravljene za centralno-evropske (Central European) latinice, kao i ćirilične kodne strane
![Page 17: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/17.jpg)
Uvod u organizaciju računara 17
Najčešće korišćene kodne strane Najčešće korišćene kodne strane kod naskod nas ISO 8859-2 (Latin2) ISO 8859-5 (Ćirilična) Windows 1250 Windows 1251 (Ćirilična)
• Prve dve su delo medjunarodne organizacije za standardizaciju (International Standard organization), dok su naredne dve Microsoft-ovi standardi
![Page 18: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/18.jpg)
Uvod u organizaciju računara 18
Latin 1Latin 1
Poželjno je poznavati i osnovnu kodnu stranu ISO 8859-1 (Latin1) jer je veoma često postavljena kao podrazumevana kodna strana. Ona se koristi za zapis tekstova na zapadno evropskim jezicima (Western European)
![Page 19: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/19.jpg)
Uvod u organizaciju računara 19
ISO 8859-1 (Latin1)ISO 8859-1 (Latin1)
![Page 20: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/20.jpg)
Uvod u organizaciju računara 20
ISO 8859-2ISO 8859-2
![Page 21: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/21.jpg)
Uvod u organizaciju računara 21
Windows 1250Windows 1250
![Page 22: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/22.jpg)
Uvod u organizaciju računara 22
Windows 1251Windows 1251
![Page 23: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/23.jpg)
Uvod u organizaciju računara 23
PrimeriPrimeri
Kako izgleda reč Matf zapisana u kodnoj strani ISO 8859-2? A u Windows 1250? A u Windows 1251?
A reč lišće?Šta predstavlja niz kodova 138 65 111
33 u kodnoj strani ISO 8859-2? A u Latin1?
![Page 24: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/24.jpg)
Uvod u organizaciju računara 24
Višebajtni karakterski kodoviVišebajtni karakterski kodovi
Iako navedene kodne strane omogućuju kodiranje tekstova koji nisu na engleskom jeziku nije moguće npr. u istom tekstu mešati ćirilicu i našu latinicu.
Azijskim jezicima nije dovoljno 256 mesta za zapis svih karaktera.
Zbog toga se uvode višebajtni karakterski kodovi
![Page 25: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/25.jpg)
Uvod u organizaciju računara 25
MBCSMBCS
Pre svega zbog potreba istočno azijskih korisnika uvedeni su tzv. višebajtni skupovi karaktera tj. Multi-Byte Character Sets (MBCS)
![Page 26: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/26.jpg)
Uvod u organizaciju računara 26
MBCSMBCS
Ideja je u tome da se najčešće korišćeni karakteri zapisuju koristeći samo jedan bajt, dok se ostali karakteri zapisuju koristeći više bajtova
Ovo značajno otežava tumačenje podataka
![Page 27: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/27.jpg)
Uvod u organizaciju računara 27
UCS, ISO 10646, UNICODEUCS, ISO 10646, UNICODE
Kasnih osamdesetih, dve velike organizacije su pokušale standardizaciju tzv. Univerzalnog skupa karaktera (Universal Character Set - UCS)
To su bili ISO, kroz standard 10646 i projekat UNICODE organizovan i finansiran uglavnom od strane američkih firmi koje su se bavile proizvodnjom višejezičkog softvera.
![Page 28: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/28.jpg)
Uvod u organizaciju računara 28
ISO 10646ISO 10646
ISO 10646 je zamišljen kao 4 bajtni standard. Pri tome se prvih 65536 karaktera koriste kao osnovni višejezični skup karaktera dok je ostali prostor ostavljen kao proširenje za drevne jezike, celokupnu naučnu notaciju i slično.
![Page 29: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/29.jpg)
Uvod u organizaciju računara 29
UNICODEUNICODE Vremenom su se pomenuta dva projekta
združila i nastao je jedinstven standard koji jednostavno nazivamo UNICODE
Ključni deo UNICODE standarda je osnovna višejezična ravan koja svakom karakteru dodeljuje dvobajtni kod
Prvih 128 karaktera se poklapaju sa ASCII standardom, dok su sledećih 128 napravljeni tako da se pokalapaju sa Latin1 standardom
![Page 30: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/30.jpg)
Uvod u organizaciju računara 30
PrimeriPrimeri
Zapisati reč Matf koristeći UNICODEZapisati reč višnjičica ćirilicom i
latinicom u UNICODE kodu
![Page 31: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/31.jpg)
Uvod u organizaciju računara 31
UUCS-2CS-2
Unicode standard u suštini predstavlja veliku tabelu koja svakom karakteru dodeljuje broj.
Standardi koji opisuju kako se niske karaktera onda prevode u nizove bajtova se dodadno definišu
ISO definiše UCS-2 standard koji jednostavno svaki UNICODE karakter prevodi u odgovarajuća dva bajta
![Page 32: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/32.jpg)
Uvod u organizaciju računara 32
UUCS-2CS-2
Redosled bajtova prilikom zapisivanja višebajtnih podataka zavisi od sistema
“Big endian” i “little endian” sistemiNa početku teksta se često zapisuje
oznaka redosleda bajtova (byte order mark): 0xFEFF ili 0xFFFE
![Page 33: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/33.jpg)
Uvod u organizaciju računara 33
UTFUTF Neki karakteri se koriste češće od drugih Tekstovi kodirani preko UCS-2 standarda
sadrže veliki broj nula, koje obično u operativnim sistemima poput UNIX-a i u programskom jeziku C imaju specijalno značenje.
Iz istog razloga softver koji je razvijen za rad sa dokumentima u ASCII formatu ne može da radi bez izmena nad dokumentima kodiranim preko UCS-2 standarda
![Page 34: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/34.jpg)
Uvod u organizaciju računara 34
UTFUTF
Unicode transformation format (UTF) je skup algoritama koji svakom UNICODE karakteru dodeljuju odredjeni niz bajtova čija dužina varira od 1 do najviše 6 u zavisnosti od varijante UTF algoritma.
UTF-8, UTF-16, UTF-32 (ekvivalentno sa UCS-4)
![Page 35: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/35.jpg)
Uvod u organizaciju računara 35
UTF-8UTF-8
UTF-8 je najčešće korišćena varijanta UTF
Dovoljan za zapis svih dvobajtnih UNICODE karaktera
![Page 36: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/36.jpg)
Struktura UTF-8 zapisa
Na početku teksta se često zapisuje oznaka redosleda bajtova tako što se karakter koji predstavlja UCS-2 oznaku redosleda zapiše pomoću UTF-8
Svaki UTF-8 kod počinje bitovima koji određuju da li je jednobajtni ili višebajtni
![Page 37: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/37.jpg)
Struktura UTF-8 zapisa
Kod višebajtnih kodova, broj pratećih bajtova se određuje na osnovu vodećeg bajta
Kod njih svaki bajt čuva kako bitove koji se odnose na format zapisa, tako i na bitove koji nose informaciju
![Page 38: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/38.jpg)
Funkcija kodiranja kod Funkcija kodiranja kod UTF-8UTF-8
Uvod u organizaciju računara 38
![Page 39: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/39.jpg)
Svojstva UTF-8 kodova
ASCII kompatibilnostPromenljiva dužinaJasno razlikovanje višebajtnih i
jednobajtnih kodovaJednostavno određivanje broja
bajtova kojima se kodiraLako utvrđivanje početka koda
![Page 40: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/40.jpg)
Uvod u organizaciju računara 40
Karakteri, Glifovi, Fontovi Karakteri, Glifovi, Fontovi
Vrlo često se ne pravi jasna razlika izmedju karaktera i njihove grafičke reprezentacije
Grafičku reprezentaciju karaktera nazivamo glifovima (glyph)
Skupove glifova nazivamo fontovima (font )
![Page 41: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/41.jpg)
Uvod u organizaciju računara 41
Karakteri, glifovi, fontoviKarakteri, glifovi, fontovi
Korespodencija izmedju karaktera i glifova ne mora biti jednoznačna
Jedan glif može da predstavi više karaktera (ligature)
Isti karakter može da se predstavlja različitim glifovima u zavisnosti od svoje pozicije u reči
![Page 42: Zapisivanje teksta](https://reader033.fdocument.pub/reader033/viewer/2022061600/58944e4a1a28abd34d8bc22f/html5/thumbnails/42.jpg)
Uvod u organizaciju računara 42
WGL4WGL4
Windows uvodi skup karaktera pod imenom Windows Glyph List 4 (WGL4) koji sadrži preko 600 karaktera koji se koriste u evropskim jezicima
Za razliku od tradicionalnih fontova koji u sebi sadže glifove za karaktere jedne kodne strane, TrueType fontovi koji podržavaju WGL4 standard sadrže glifove za sve evropske karaktere