Kodiranje znakov

Znaki so črke (velike, male), matematični in slovnični znaki, ki so v računalniku predstavljeni z nizom ničel in enic. Vsakemu znaku ustreza točno določena kombinacija bitov. Če bi za kodiranje uporabili dva bita, bi z različno kombinacijo bitov lahko kodirali štiri znake.

Primer kodiranja znakov z 2 bitoma.

Znak A
B
C
D
Dvojiška koda
00 01
10
11
Desetiška koda
65 66
67
68


Primer kodiranja znakov z 8 biti.
Znak A B
1
2
a
b
Dvojiška koda
01000001
01000010
01000101
01000110 01100001 01100010
Desetiška koda
65 66
69
70
97
98

Zato uporabimo daljše zaporedje ničel in enic. Vsi znaki so kodirani s po 8-imi biti, takšno število bitov nam omogoča predstavitev 256 (28) znakov.

V šestdesetih letih so v ZDA določili stalne kode za najpogosteje uporabljane znake, kar naj bi omogočalo izmenjavo informacij med računalniki. Poimenovali so jo ASCII.
ASCII (American Standard Code for Information Interchange – ameriški standardni nabor znakov za izmenjavo informacij med računalniki) je kodna tabela, kjer posamezni znak zapišemo s točno določeno kombinacijo osmih bitov (1 BYTE).
Standard ASCII ne predpisuje vseh 256 kod, ki jih omogoča zapis z osmimi biti, ampak le 128, od kode 0 do kode 127.
ASCII tabelo razdelimo na 3 sekcije:
  • Neizpisljive kode na mestih od 0 do 31 (neizpisljivi).
  • "Spodnji" del ASCII tabele med 32 in 127 mestom. To je del, kjer so vsi glavni znaki (predvsem ameriške abecede) izpisljivi.
  • "Zgornji" ASCII med 128 in 255. Del kode, kjer s programiranjem lahko dobimo specialne znake, predvsem v odvisnosti od jezika, kateremu so znaki namenjeni (šumniki, nemški znaki).
Slabost ASCII: ne upošteva nekaterih naših pisnih znakov.
V njej ne najdemo šumnikov, ki jih seveda nujno potrebujemo. Standard ASCII je neposredno uporaben samo v angleško govorečih deželah. Nekateri pogrami (za elektronsko pošto, starejši operacijski programi) uporabljajo za zapis 7 bitov in tako ne moremo uporabiti šumnikov. Pisave drugih dežel povečini vsebujejo dodatne lastne znake, ki jih ASCII ne pozna. Omenjeni problem rešujemo z uvajanjem dodatnih kodnih standardov, ki jih imenujemo kodne tabele. Pri tem imamo dve možnosti:
  • določenim kodam ASCII spremenimo osnovni pomen. Tako smo včasih za naše šumnike uporabili kode oglatih oklepajev in zavitih oklepajev. Pomanjkljivost take metode je, da izgubimo prvotne znake.
  • osnovni nabor ASCII obdržimo, manjkajoče znake pa predstavimo s prostimi kodami od 128 do 255. Problem: da bodo podatki enaki v dveh različnih računalnikih oziroma programih, morata oba uporabljati isti standard.
Tabelo ASCII si lahko ogledate na strani: http://www.asciitable.com

Vrste kodnih tabel:
  • kodne tabele YUSCII, CP852, CP1250
  • ISO Latin1
    • 8-bitna koda
    • razširitev ASCII (ASCII kompatibilna)
    • vsebuje znake za zahodnoevropske države
  • ISO Latin2 ali ISO 8859-2
    • enako kot ISO Latin1, vendar za srednjeevropske države
    • s polnim imenom ISO/IEC 8859-2, manj formalno tudi Latin-2, predstavlja drugi del mednarodnega standarda ISO/IEC 8859 za kodirani nabor znakov.
  • ISO 8859-2 kodira 191 znakov latinične abecede št. 2, pri čemer vsakemu znaku ustreza osembitna koda.
  • Unicode
    • Je 16-bitni nabor znakov, ki naj bi pokril potrebe za zapisovanje večine svetovnih naravnih jezikov.
    • Je standard za kodiranje znakov v računalništvu, ki za zapis znaka uporablja glede na implementacijo od enega do štirih bajtov. To naj bi zadoščalo za zapis večine svetovnih jezikov vključno z japonščino in s kitajščino.
    • Unicode se ujema s standardom ISO 10646. Razvit je bil pod okriljem organizacije Unicode Consortium, ki je krovna organizacija, zadolžena za razvoj in koordinacijo danega standarda in so v njej prisotni vsi pomembnejši računalniški proizvajalci, tako s področja programske kot tudi strojne opreme.
Vsem kodnim tabelam pa je skupno to, da so urejene. Kot primer: kodi za A vedno sledi koda za B.
Ikona vprašanja poučevalne enote Izbirne naloge
Koliko znakov je mogoče zapisati s standardom UNICODE?
  
128 znakov
256 znakov
65536 znakov