Zapisivanje teksta u raunaru Uvod u organizaciju raunara

  • Slides: 42
Download presentation
Zapisivanje teksta u računaru Uvod u organizaciju računara 1

Zapisivanje teksta u računaru Uvod u organizaciju računara 1

Šta je to tekst? l Tekst (ili dokument) je – "informacija namenjena ljudskom sporazumevanju

Šta je to tekst? l 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) Uvod u organizaciju računara 2

Tekst je niz karaktera Iako obično tekst zamišljamo kao dvodimenzioni objekat, u računarima se

Tekst je niz karaktera Iako obično tekst zamišljamo kao dvodimenzioni objekat, u računarima se tekst predstavlja kao jednodimenzioni (linearni) niz karaktera. l Potrebno je, dakle, uvesti specijalne karaktere koji označavaju prelazak u novi red, tabulator, kraj teksta i slično l Uvod u organizaciju računara 3

Zapis karaktera u računaru Računari su zasnovani na binarnoj aritmetici l Cele brojeve je

Zapis karaktera u računaru Računari su zasnovani na binarnoj aritmetici l Cele brojeve je moguće predstaviti u binarnom sistemu l Osnovna ideja je svakom karakteru pridružiti odredjeni ceo broj na unapred dogovoreni način l Ove brojeve zovemo kodovima karaktera (character codes) l Uvod u organizaciju računara 4

Koliko karaktera želimo da predstavimo u računarima? l Tokom razvoja računarstva broj karaktera je

Koliko karaktera želimo da predstavimo u računarima? l Tokom razvoja računarstva broj karaktera je postajao sve veći l Pošto je u početku razvoja englesko govorno područje bilo dominantno osnovno je bilo predstaviti sledeće karaktere: Uvod u organizaciju računara 5

Englesko govorno područje l l l Velika slova engleskog alfabeta : A, B, .

Englesko govorno područje l l l 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 Uvod u organizaciju računara 6

Standardni karakterski kodovi Sedamdesetih godina su se pojavile tabele standardnih karakterskih kodova dovoljne za

Standardni karakterski kodovi Sedamdesetih godina su se pojavile tabele standardnih karakterskih kodova dovoljne za zapis pomenutih karaktera l 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 l Uvod u organizaciju računara 7

ASCII l ASCII (American Standard Code for Information Interchange) l ASCII sedmobitan (broj karaktera

ASCII l ASCII (American Standard Code for Information Interchange) l ASCII sedmobitan (broj karaktera je 128) Uvod u organizaciju računara 8

ASCII tabela Uvod u organizaciju računara 9

ASCII tabela Uvod u organizaciju računara 9

Primeri l Karakter A se zapisuje kao (41)16 tj. 0 x 41 što je

Primeri l Karakter A se zapisuje kao (41)16 tj. 0 x 41 što je (65)10 tj. (1000001)2 l Razmak se zapisuje kao (20)16 što je (32)10 tj. (0100000)2 l Zapišite cifru 3 u ASCII kodu l Zapišite tekst Fakultet u ASCII kodu Uvod u organizaciju računara 10

Oznaka za kraj reda l Oznaka za kraj reda se ne zapisuje isto u

Oznaka za kraj reda l Oznaka za kraj reda se ne zapisuje isto u svim operativnim sistemima l Pod Windows ova se oznaka se zapisuje sa dva karaktera (CR LF), 0 x. D 0 x. A tj. 13 10 – istorijski razlozi (stari štampači) l Unix koristi samo karakter CR tj. 0 x. D Uvod u organizaciju računara 11

Šta sa ostalim jezicima? l Razvojem računarstva se javlja potreba kodiranja tekstova i na

Šta sa ostalim jezicima? l Razvojem računarstva se javlja potreba kodiranja tekstova i na drugim jezicima l Kroz istoriju su postojala mnoga rešenja, od kojih su se neka zadržala, a neka su nestala Uvod u organizaciju računara 12

Kodne strane l Pod kodnom stranom (Code page) tj. skupom karaktera (Character set, charset)

Kodne strane l Pod kodnom stranom (Code page) tj. skupom karaktera (Character set, charset) podrazumevamo uredjenu listu karaktera predstavljenih svojim karakterskim kodovima Uvod u organizaciju računara 13

Kodne strane Podaci se u računarima obično zapisuju bajt po bajt l ASCII je

Kodne strane Podaci se u računarima obično zapisuju bajt po bajt l ASCII je sedmobitni standard l ASCII karakteri se zapisuju tao što se u svakom bajtu bit najveće težine postavi na 0 l To ostavlja prostor za novih 128 karaktera čiji binarni zapis počinje sa 1 l Uvod u organizaciju računara 14

Kodne strane Ovaj prostor se može popuniti na razne načine l Rešenje nije univerzalno,

Kodne strane Ovaj prostor se može popuniti na razne načine l Rešenje nije univerzalno, jer svakako na svetu postoji više od 256 različitih karaktera l Postavljeni su razni standardi dopunjavanja ovih 128 karaktera l Svim ovim kodnim stranama je zajedničko prvih 128 karaktera i oni se poklapaju sa ASCII l Uvod u organizaciju računara 15

Kodne strane l Ovako napravljene kodne strane obično omogućuju kodiranje tekstova na više srodnih

Kodne strane l Ovako napravljene kodne strane obično omogućuju kodiranje tekstova na više srodnih jezika (obično i geografski bliskih) l Nama su uglavnom važne kodne strane napravljene za centralnoevropske (Central European) latinice, kao i ćirilične kodne strane Uvod u organizaciju računara 16

Najčešće korišćene kodne strane kod nas ISO 8859 -2 (Latin 2) l ISO 8859

Najčešće korišćene kodne strane kod nas ISO 8859 -2 (Latin 2) l ISO 8859 -5 (Ćirilična) l Windows 1250 l Windows 1251 (Ćirilična) l • Prve dve su delo medjunarodne organizacije za standardizaciju (International Standard organization), dok su naredne dve Microsoft-ovi standardi Uvod u organizaciju računara 17

Latin 1 l Poželjno je poznavati i osnovnu kodnu stranu ISO 8859 -1 (Latin

Latin 1 l Poželjno je poznavati i osnovnu kodnu stranu ISO 8859 -1 (Latin 1) jer je veoma često postavljena kao podrazumevana kodna strana. Ona se koristi za zapis tekstova na zapadno evropskim jezicima (Western European) Uvod u organizaciju računara 18

ISO 8859 -1 (Latin 1) Uvod u organizaciju računara 19

ISO 8859 -1 (Latin 1) Uvod u organizaciju računara 19

ISO 8859 -2 Uvod u organizaciju računara 20

ISO 8859 -2 Uvod u organizaciju računara 20

Windows 1250 Uvod u organizaciju računara 21

Windows 1250 Uvod u organizaciju računara 21

Windows 1251 Uvod u organizaciju računara 22

Windows 1251 Uvod u organizaciju računara 22

Primeri l Kako izgleda reč Matf zapisana u kodnoj strani ISO 8859 -2? A

Primeri l Kako izgleda reč Matf zapisana u kodnoj strani ISO 8859 -2? A u Windows 1250? A u Windows 1251? l A reč lišće? l Šta predstavlja niz kodova 138 65 111 33 u kodnoj strani ISO 8859 -2? A u Latin 1? Uvod u organizaciju računara 23

Višebajtni karakterski kodovi Iako navedene kodne strane omogućuju kodiranje tekstova koji nisu na engleskom

Viš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. l Azijskim jezicima nije dovoljno 256 mesta za zapis svih karaktera. l Zbog toga se uvode višebajtni karakterski kodovi l Uvod u organizaciju računara 24

MBCS l Pre svega zbog potreba istočno azijskih korisnika uvedeni su tzv. višebajtni skupovi

MBCS l Pre svega zbog potreba istočno azijskih korisnika uvedeni su tzv. višebajtni skupovi karaktera tj. Multi. Byte Character Sets (MBCS) Uvod u organizaciju računara 25

MBCS l Ideja je u tome da se najčešće korišćeni karakteri zapisuju koristeći samo

MBCS l 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 l Ovo značajno otežava tumačenje podataka Uvod u organizaciju računara 26

UCS, ISO 10646, UNICODE Kasnih osamdesetih, dve velike organizacije su pokušale standardizaciju tzv. Univerzalnog

UCS, ISO 10646, UNICODE Kasnih osamdesetih, dve velike organizacije su pokušale standardizaciju tzv. Univerzalnog skupa karaktera (Universal Character Set - UCS) l 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. l Uvod u organizaciju računara 27

ISO 10646 l ISO 10646 je zamišljen kao 4 bajtni standard. Pri tome se

ISO 10646 l 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. Uvod u organizaciju računara 28

UNICODE Vremenom su se pomenuta dva projekta združila i nastao je jedinstven standard koji

UNICODE Vremenom su se pomenuta dva projekta združila i nastao je jedinstven standard koji jednostavno nazivamo UNICODE l Ključni deo UNICODE standarda je osnovna višejezična ravan koja svakom karakteru dodeljuje dvobajtni kod l Prvih 128 karaktera se poklapaju sa ASCII standardom, dok su sledećih 128 napravljeni tako da se pokalapaju sa Latin 1 standardom l Uvod u organizaciju računara 29

Primeri l Zapisati reč Matf koristeći UNICODE l Zapisati reč višnjičica ćirilicom i latinicom

Primeri l Zapisati reč Matf koristeći UNICODE l Zapisati reč višnjičica ćirilicom i latinicom u UNICODE kodu Uvod u organizaciju računara 30

UCS-2 Unicode standard u suštini predstavlja veliku tabelu koja svakom karakteru dodeljuje broj. l

UCS-2 Unicode standard u suštini predstavlja veliku tabelu koja svakom karakteru dodeljuje broj. l Standardi koji opisuju kako se niske karaktera onda prevode u nizove bajtova se dodadno definišu l ISO definiše UCS-2 standard koji jednostavno svaki UNICODE karakter prevodi u odgovarajuća dva bajta l Uvod u organizaciju računara 31

UCS-2 l Redosled bajtova prilikom zapisivanja višebajtnih podataka zavisi od sistema l “Big endian”

UCS-2 l Redosled bajtova prilikom zapisivanja višebajtnih podataka zavisi od sistema l “Big endian” i “little endian” sistemi l Na početku teksta se često zapisuje oznaka redosleda bajtova (byte order mark): 0 x. FEFF ili 0 x. FFFE Uvod u organizaciju računara 32

UTF Neki karakteri se koriste češće od drugih Tekstovi kodirani preko UCS-2 standarda sadrže

UTF 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. l 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 l l Uvod u organizaciju računara 33

UTF l Unicode transformation format (UTF) je skup algoritama koji svakom UNICODE karakteru dodeljuju

UTF l 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. l UTF-8, UTF-16, UTF-32 (ekvivalentno sa UCS-4) Uvod u organizaciju računara 34

UTF-8 l UTF-8 je najčešće korišćena varijanta UTF l Dovoljan za zapis svih dvobajtnih

UTF-8 l UTF-8 je najčešće korišćena varijanta UTF l Dovoljan za zapis svih dvobajtnih UNICODE karaktera Uvod u organizaciju računara 35

Struktura UTF-8 zapisa l Na početku teksta se često zapisuje oznaka redosleda bajtova tako

Struktura UTF-8 zapisa l 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 l Svaki UTF-8 kod počinje bitovima koji određuju da li je jednobajtni ili višebajtni

Struktura UTF-8 zapisa l Kod višebajtnih kodova, broj pratećih bajtova se određuje na osnovu

Struktura UTF-8 zapisa l Kod višebajtnih kodova, broj pratećih bajtova se određuje na osnovu vodećeg bajta l Kod njih svaki bajt čuva kako bitove koji se odnose na format zapisa, tako i na bitove koji nose informaciju

Funkcija kodiranja kod UTF-8 Uvod u organizaciju računara 38

Funkcija kodiranja kod UTF-8 Uvod u organizaciju računara 38

Svojstva UTF-8 kodova l ASCII kompatibilnost l Promenljiva dužina l Jasno razlikovanje višebajtnih i

Svojstva UTF-8 kodova l ASCII kompatibilnost l Promenljiva dužina l Jasno razlikovanje višebajtnih i jednobajtnih kodova l Jednostavno određivanje broja bajtova kojima se kodira l Lako utvrđivanje početka koda

Karakteri, Glifovi, Fontovi l Vrlo često se ne pravi jasna razlika izmedju karaktera i

Karakteri, Glifovi, Fontovi l Vrlo često se ne pravi jasna razlika izmedju karaktera i njihove grafičke reprezentacije l Grafičku reprezentaciju karaktera nazivamo glifovima (glyph) l Skupove glifova nazivamo fontovima (font ) Uvod u organizaciju računara 40

Karakteri, glifovi, fontovi l Korespodencija izmedju karaktera i glifova ne mora biti jednoznačna l

Karakteri, glifovi, fontovi l Korespodencija izmedju karaktera i glifova ne mora biti jednoznačna l Jedan glif može da predstavi više karaktera (ligature) l Isti karakter može da se predstavlja različitim glifovima u zavisnosti od svoje pozicije u reči Uvod u organizaciju računara 41

WGL 4 Windows uvodi skup karaktera pod imenom Windows Glyph List 4 (WGL 4)

WGL 4 Windows uvodi skup karaktera pod imenom Windows Glyph List 4 (WGL 4) koji sadrži preko 600 karaktera koji se koriste u evropskim jezicima l Za razliku od tradicionalnih fontova koji u sebi sadže glifove za karaktere jedne kodne strane, True. Type fontovi koji podržavaju WGL 4 standard sadrže glifove za sve evropske karaktere l Uvod u organizaciju računara 42