12
2. Zapis i pohranjivanje podataka 2.4.5.Zapis znakova u memoriji računala. Kodovi i kodiranje Iz prethodnih nastavnih jedinica znamo da je osnovna jedinica komunikacije između radne memorije i ostalih dijelova računala 1 Byte (registar radne memorije). Kao i brojevi, znakovi u računalu se zapisuju u digitalnom zapisu. Očito nam 1 bit kao najmanja jedinica podataka nije dovoljna da bi zapisali sve znakove koji su nam potrebni. Nadam se da ste svjesni da bi sa jednim bitom mogli zapisati samo dva različita znaka. Znak u računalu može biti: slovo znamenka posebni znak - ! # % @... upravljački znakovi potrebni za rad računala: o carriage return – prijelaz u novi red teksta o tab – pomak kursora za određeni niz znakova udesno i sl. Sve ove vrste znakova imaju se zajednički nazivaju alfanumeričkim znakovima. Da se može zapisivati više znakova, morali smo bitove svrstavati u skupine bitova tj. u bajtove. Dakle, ako predvidimo da se za zapis znakova koristi 1B, to znači da možemo zapisati ukupno 2 8 = 256 različitih znakova u računalu! Naravno, oni se ne mogu zapisivati bilo kako, već po određenim pravilima za zapisivanje znakova. Pravila po kojim znakovima pridružujemo njihov binarni zapis nazivamo kôdom, a postupak pridruživanja nazivamo kodiranjem. Napomena: Kada bi dva različita računala koristila različite kôdove za zapis znakova onda je vrlo vjerojatno da bi čitanje teksta sa jednog računala u drugom bilo pogrešno, jer drugo računalo tumači taj isti binarni zapis po nekom drugom pravilu zapisivanja. Zapis znakova u memoriji računala. Kodovi i kodiranje. Stranica 1/12

zapis znakova_kodiranje

  • Upload
    grgur5

  • View
    47

  • Download
    10

Embed Size (px)

DESCRIPTION

kodiranje

Citation preview

2. Zapis i pohranjivanje podataka

2.4.5.Zapis znakova u memoriji računala.Kodovi i kodiranje

Iz prethodnih nastavnih jedinica znamo da je osnovna jedinica komunikacije između radne memorije i ostalih dijelova računala 1 Byte (registar radne memorije). Kao i brojevi, znakovi u računalu se zapisuju u digitalnom zapisu. Očito nam 1 bit kao najmanja jedinica podataka nije dovoljna da bi zapisali sve znakove koji su nam potrebni. Nadam se da ste svjesni da bi sa jednim bitom mogli zapisati samo dva različita znaka.

Znak u računalu može biti: slovo znamenka posebni znak - ! # % @... upravljački znakovi potrebni za rad računala:

o carriage return – prijelaz u novi red tekstao tab – pomak kursora za određeni niz znakova udesno i sl.

Sve ove vrste znakova imaju se zajednički nazivaju alfanumeričkim znakovima.

Da se može zapisivati više znakova, morali smo bitove svrstavati u skupine bitova tj. u bajtove. Dakle, ako predvidimo da se za zapis znakova koristi 1B, to znači da možemo zapisati ukupno 28 = 256 različitih znakova u računalu! Naravno, oni se ne mogu zapisivati bilo kako, već po određenim pravilima za zapisivanje znakova. Pravila po kojim znakovima pridružujemo njihov binarni zapis nazivamo kôdom, a postupak pridruživanja nazivamo kodiranjem.

Napomena: Kada bi dva različita računala koristila različite kôdove za zapis znakova onda je vrlo vjerojatno da bi čitanje teksta sa jednog računala u drugom bilo pogrešno, jer drugo računalo tumači taj isti binarni zapis po nekom drugom pravilu zapisivanja. Dekodiranjem iz pojedinih nizova bitova dobivamo odgovarajuće znakove.

Kako su se razvijala računala tako su se razvijali kôdovi, tj. pravila zapisivanja znakova binarnim zapisom. Možemo si postaviti problem i na sljedeći način: Kako znak pretvoriti u binarni zapis?

Postoje različiti kôdovi za zapis znakova. Mi ćemo spomenuti samo neke:

BCD kôd – Binary Coded Decimal – 8-4-2-1 (težinski faktori pojedinog mjesta)o tetradni kôd (četiri-bitovni kôd) – zapis znakova pomoću 4 bita (dovoljno za

prikaz svih znamenki) – ukupno moguće prikazati 16 znakova;o isključivo se koristio za prikaz dekadskih znamenki dekadskog brojevnog

sustava – ujedno i mana ovog zapisa jer je 6 mogućnosti zapisa ostalo neiskorišteno (ponekad su se te preostale kombinacije koristile za zapis predznaka i sl.);

o kodiranje se obavlja na način da se svakoj dekadskoj znamenki pridruži njezin četverobitovni binarni ekvivalent

npr. 12710 = 0001 0010 0111

Zapis znakova u memoriji računala. Kodovi i kodiranje. Stranica 1/8

2. Zapis i pohranjivanje podataka

o najveću primjenu ima u mjernoj tehnicio Zadatak 1: Broj 73490 pretvori u BCD kod:

Rješenje: 0111 0011 0100 1001 0000

o Zadatak 2: Koji dekadski broj je zapisan decimalnim kodom1000 1001 0001 0011 0101 0111?

Rješenje: 891357

Aiken-ov kôd – četiri-bitovni kôd – 2-4-2-1o „alternativa“ BCD kôdu;o koristio se za prijenos podataka;

ZnamenkaBCD

8 4 2 1BCD 2 4 2 1

ili Aiken

0 0000 0000

1 0001 0001

2 0010 0010

3 0011 0011

4 0100 0100

5 0101 1011

6 0110 1100

7 0111 1101

8 1000 1110

9 1001 1111

Tablica 1. BCD i Aiken kôd

šest-bitovni kôd – prošireni BCD kôd o moguće prikazati 64 različita znaka (zašto?) što je omogućilo zapisivanje svih

alfanumeričkih znakova

EBCDI kôd – Extended Binary Coded Decimal Interchangibleo osam-bitovni kôdo razvila ga tvrtka IBM kako bi se na računalu mogli prikazati svi potrebni

znakovi;o moguće prikazati 256 različita znaka (zašto?) i time je također omogućeno

zapisivanje svih znakova i brojki (znamenaka);o u takvom zapisu je 1B podijeljen na zonski dio i brojčani dio

Zapis znakova u memoriji računala. Kodovi i kodiranje. Stranica 2/8

2. Zapis i pohranjivanje podataka

ASCII kôd – American Standard Code for Information Interchangeo početno zamišljen kao 7-bitovni = 128 različitih znakova mogao prikazati što

je bilo nedovoljno za prikaz nekih znakova koji se koriste u nekim drugim jezicima (hrvatski, njemački,...), pa je proširen za još jedan bit – Extented (prošireni) ASCII kôd;

o osam-bitovni kôd – 256 različita znaka – prošireni ASCII kôd;o najpoznatiji kôd za zapisivanje znakova, osnova – engleska abeceda o koristi se naziv i Latin-I;o stvoren 1963., objavljen 1967., zadnji put izmijenjen 1986.o mnogi današnji moderni kôdovi za zapis znakova su zasnovani na ASCII kôdu;

Prva 32 (0 – 31 dekadski) znaka su tzv. kontrolni znakovi. Samo ime govori da kontroliraju rad pojedinih uređaja (npr. pisači). Ovi znakovi nisu ispisivi. Npr. kôd 10 reprezentira „line-feed“ funkciju koja uzrokuje pomicanje

ispisa na pisaču za jedan redak, kôd 8 reprezentira „backspace“ funkciju koja briše jedan znak s lijeve

strane kursora;

Binarni Oct Dec Hex Abbr PR[a] CS[b] CEC[c] Opis0000 0000 000 0 00 NUL ␀ ^@ \0 Null character0000 0001 001 1 01 SOH ␁ ^A Start of Header0000 0010 002 2 02 STX ␂ ^B Start of Text0000 0011 003 3 03 ETX ␃ ^C End of Text0000 0100 004 4 04 EOT ␄ ^D End of Transmission0000 0101 005 5 05 ENQ ␅ ^E Enquiry0000 0110 006 6 06 ACK ␆ ^F Acknowledgment0000 0111 007 7 07 BEL ␇ ^G \a Bell0000 1000 010 8 08 BS ␈ ^H \b Backspace [d] [i] 0000 1001 011 9 09 HT ␉ ^I \t Horizontal Tab0000 1010 012 10 0A LF ␊ ^J \n Line feed0000 1011 013 11 0B VT ␋ ^K \v Vertical Tab0000 1100 014 12 0C FF ␌ ^L \f Form feed0000 1101 015 13 0D CR ␍ ^M \r Carriage return [h] 0000 1110 016 14 0E SO ␎ ^N Shift Out0000 1111 017 15 0F SI ␏ ^O Shift In0001 0000 020 16 10 DLE ␐ ^P Data Link Escape0001 0001 021 17 11 DC1 ␑ ^Q Device Control 1 (oft. XON)0001 0010 022 18 12 DC2 ␒ ^R Device Control 20001 0011 023 19 13 DC3 ␓ ^S Device Control 3 (oft. XOFF)0001 0100 024 20 14 DC4 ␔ ^T Device Control 40001 0101 025 21 15 NAK ␕ ^U Negative Acknowledgement0001 0110 026 22 16 SYN ␖ ^V Synchronous Idle0001 0111 027 23 17 ETB ␗ ^W End of Trans. Block0001 1000 030 24 18 CAN ␘ ^X Cancel0001 1001 031 25 19 EM ␙ ^Y End of Medium0001 1010 032 26 1A SUB ␚ ^Z Substitute0001 1011 033 27 1B ESC ␛ ^[ \e[f] Escape [g] 0001 1100 034 28 1C FS ␜ ^\ File Separator0001 1101 035 29 1D GS ␝ ^] Group Separator0001 1110 036 30 1E RS ␞ ^^ Record Separator0001 1111 037 31 1F US ␟ ^_ Unit Separator

Zapis znakova u memoriji računala. Kodovi i kodiranje. Stranica 3/8

2. Zapis i pohranjivanje podataka

0111 1111 177 127 7F DEL ␡ ^? Delete[e][i]

Tablica 2. Kontrolni ASCII znakovi

Druga grupa znakova – njih 95 (dekadska mjesta – 32 -126) su ispisivi znakovi: slova, znamenke, interpunkcijski i specijalni znakovi

Tablica 3. Ispisivi znakovi ASCII tablice

Npr., kôd 32 je razmak na tipkovnici (space character), kôd 64 je @, kôd 65 je A itd.

Zapis znakova u memoriji računala. Kodovi i kodiranje. Stranica 4/8

2. Zapis i pohranjivanje podataka

Binary Dec Hex Glyph

0010 0000 32 20 SP

0010 0001 33 21 !0010 0010 34 22 "0010 0011 35 23 #0010 0100 36 24 $0010 0101 37 25 %0010 0110 38 26 &0010 0111 39 27 '0010 1000 40 28 (0010 1001 41 29 )0010 1010 42 2A *0010 1011 43 2B +0010 1100 44 2C ,0010 1101 45 2D -0010 1110 46 2E .0010 1111 47 2F /0011 0000 48 30 00011 0001 49 31 10011 0010 50 32 20011 0011 51 33 30011 0100 52 34 40011 0101 53 35 50011 0110 54 36 60011 0111 55 37 70011 1000 56 38 80011 1001 57 39 90011 1010 58 3A :0011 1011 59 3B ;0011 1100 60 3C <0011 1101 61 3D =0011 1110 62 3E >0011 1111 63 3F ?

  Binary Dec Hex Glyph0100 0000 64 40 @0100 0001 65 41 A0100 0010 66 42 B0100 0011 67 43 C0100 0100 68 44 D0100 0101 69 45 E0100 0110 70 46 F0100 0111 71 47 G0100 1000 72 48 H0100 1001 73 49 I0100 1010 74 4A J0100 1011 75 4B K0100 1100 76 4C L0100 1101 77 4D M0100 1110 78 4E N0100 1111 79 4F O0101 0000 80 50 P0101 0001 81 51 Q0101 0010 82 52 R0101 0011 83 53 S0101 0100 84 54 T0101 0101 85 55 U0101 0110 86 56 V0101 0111 87 57 W0101 1000 88 58 X0101 1001 89 59 Y0101 1010 90 5A Z0101 1011 91 5B [0101 1100 92 5C \0101 1101 93 5D ]0101 1110 94 5E ^0101 1111 95 5F _

  Binary Dec Hex Glyph0110 0000 96 60 `0110 0001 97 61 a0110 0010 98 62 b0110 0011 99 63 c0110 0100 100 64 d0110 0101 101 65 e0110 0110 102 66 f0110 0111 103 67 g0110 1000 104 68 h0110 1001 105 69 i0110 1010 106 6A j0110 1011 107 6B k0110 1100 108 6C l0110 1101 109 6D m0110 1110 110 6E n0110 1111 111 6F o0111 0000 112 70 p0111 0001 113 71 q0111 0010 114 72 r0111 0011 115 73 s0111 0100 116 74 t0111 0101 117 75 u0111 0110 118 76 v0111 0111 119 77 w0111 1000 120 78 x0111 1001 121 79 y0111 1010 122 7A z0111 1011 123 7B {0111 1100 124 7C |0111 1101 125 7D }0111 1110 126 7E ~

Tablica 4. Ispisivi ASCII znakovi

Napomena: kombinacijom tipki, npr. ALT + 64 (na numeričkom dijelu otipkati) dobivamo dekodirani znak iz ASCII tablice na 64 mjestu! Provjerite!

Zapis znakova u memoriji računala. Kodovi i kodiranje. Stranica 5/8

2. Zapis i pohranjivanje podataka

Primjer 13. U spremniku računala pohranjeni su sadržaji kao na slici. Dekodirati tekst pohranjen u

spremniku.

0100 10010111 00110111 00000100 10010111 01000010 00000110 10100110 01010010 0001

Odgovor: IspIt je!

Primjer 14.

Kodirati tekst "[email protected]" Kodirati: “2 + 3=5”

Napomena: niz od četiri bajta nazivamo riječ. Poluriječ je niz od dva bajta. Dvostruka riječ je niz od 8 bajtova.

linijski (crtični) kôd – eng. barcodeo razlikuje se od prethodnih što nije numerički (binarni)

način kodiranjao koristi se za kodiranje zaporki na proizvodimao standard u Europi je EAN linijski kôd (u svijetu

najrasprostranjeniji) o 13 brojeva podijeljeni u 4 dijela:

porijeklo – prve dvije ili tri znamenke – npr. zemlja porijekla proizvoda oznaka proizvođača – 4. ili 5. znamenki oznaka proizvoda – 5 znamenki ostatak znamenki – omogućava se provjera pogrešaka (da li je kôd

dobro očitan od strane čitača kôda)

Slika 1.9. Primjer linijskog kôda

Zapis znakova u memoriji računala. Kodovi i kodiranje. Stranica 6/8

2. Zapis i pohranjivanje podataka

Napomena: Sljedeća poveznica pokazuje oznake zemlje porijekla proizvoda

http://en.wikipedia.org/wiki/List_of_GS1_country_codes

Zadatak 3: Protumačiti kodove dva proizvoda istog proizvoljno odabranog proizvođača

QR kôd (kratica od engl. Quick Response kod, odnosno brzi odgovor) o tip dvodimenzionalnog koda koji je prvotno osmišljen za autoindustriju (Toyota

1994.)o postao popularan i izvan autoindustrije zbog svoje brze čitljivosti i mogućnosti

velike pohrane podataka. o sastoji se od crnih modula raspoređenih u kvadratni uzorak na bijeloj pozadini.

Kodirane informacije mogu se sastojati od bilo kakvih podataka (npr. binarnih, alfanumeričkih i dr.);

o dizajniran kako bi se omogućilo njegovo brzo dekodiranje;o QR kôd može očitati svaki mobitel s fotoaparatom i pristupom Internetu koji ima

instaliranu aplikaciju za čitanje QR kôdova. Nekim su uređajima te aplikacije već tvornički instalirane, a za ostale postoji velik izbor besplatnih aplikacija koje se mogu skinuti s Interneta;

Slika 1.10. Primjer QR kôdaQR kod za URL glavne stranice wikipedije na engleskom jeziku za mobitel

Napomena: Sljedeća poveznica pokazuje službenu stranicu QR kôda:

http:// http://www.qrcode.com/en/index.html

tajni kôdovio kriptiranje (zakrivanje) je kodiranje znakova tajnim kôdom. Kriptografija

(hrv. tajnopis) je disciplina koja se bavi pronalaženjem djelotvornih načina zakrivanja teksta za poslovne, vojne, državne, privatne i druge tajne.

o za bolje razumijevanje kriptografije potrebno je poznavati i pojmove šifriranje, dešifriranje i ključ:

šifriranje znači skrivanje podataka i njihovo transformiranje u obično neprepoznatljiv sadržaj;

Zapis znakova u memoriji računala. Kodovi i kodiranje. Stranica 7/8

2. Zapis i pohranjivanje podataka

dešifriranje predstavlja obrnuti proces tj. konverziju iz neprepoznatljivog šifriranog oblika natrag u "čitljiv" oblik;

ključ kao pojam vezan uz kriptografiju predstavlja podatak koji omogućava šifriranje i/ili dešifriranje. Ključ dakle predstavlja jedan ili više podataka koji uz poznati algoritam vode do početnih podataka i obratno;

Slika 1.11. Shema klasične kriptografije

Primjer 15. (Cezarova šifra)

Opisat ćemo način šifriranja koji potječe od rimskog vojskovođe Julija Cezara koji je na taj način komunicirao sa svojim prijateljima. Sastoji se u tome da se svako slovo poruke (tj. otvorenog teksta) zamijeni slovom koje se nalazi n mjesta dalje u abecedi.Pretpostavimo da želimo šifrirati tekst “LAV”. Koristit ćemo se engleskom abecedom od 26 slova. Ako je na primjer n = 5, onda šifrat glasi “QFA”.

Pouzdanost kodova

Prilikom zapisa znakova u memoriju ili prilikom njihova prijenosa mogu nastati pogreške. Stoga se pojedinim kodovima dodaju bitovi za kontrolu. Tako se ASCII kod proširio za 1 bit, između ostalog, kako bi broj jedinica prilikom prijenosa uvijek bio paran u zapisu svakog znaka. EBCDI kod se proširuje za jedan bit kako bi broj jedinica uvijek bio neparan.

Zapis znakova u memoriji računala. Kodovi i kodiranje. Stranica 8/8