next up previous contents index
Naprej: Naravni jezik Navzgor: Kodiranje slovenskih znakov Nazaj: Kodiranje slovenskih znakov

Subsections


Kodna tabela

Crke in drugi znaki so v racunalniku predstavljeni s pomocjo tabele, imenovane kodna tabela  ali kodni razpored , ki povezuje graficno predstavitev nekega znaka z njegovim binarnim zapisom. Tako znaku za veliko crko A pri nekaterih kodnih tabelah ustreza desetisko stevilo 65. Kot je v racunalnistvu navada, moramo biti pazljivi in se prepricati, v katerem stevilskem sistemu je navedeno stevilo: razen desetiskega sistema se uporabljata se osmiski in sestnajstiski ter v izpisih redko dvojiski.

Nacini, kako slovenske znake predstaviti v racunalniku, se mocno razlikujejo, kar je tudi vzrok za mnoge tezave s prenosljivostjo besedil. V uporabi je veliko stevilo razlicnih kodnih tabel.

Kodne tabele so enozlozne (enobytne) ali veczlozne (vecbytne) glede na to, kako je najvec dolg zapis enega znaka. Enozlozne (enobytne) tabele se nadalje delijo na sedembitne, kjer znaku sme pripasti najvec desetiska stevilka 127, in na osembitne, ki vkljucujejo tudi znake med vkljucno mestoma 128 in 256. Zvrsti kodnih tabel z nekaterimi primeri so prikazane na sliki 1.


  
Slika 1: Zvrsti kodnih tabel z nekaterimi primeri.
\begin{figure}
\begin{center}
\special{em:linewidth 0.4pt}
\unitlength 1.00mm
...
 ....33}{71.33}{13}{114.33}{63.67}{14}
%\end
\end{picture}
\end{center}\end{figure}

Sedembitna kodna tabela

Sedembitno kodiranje je starejse in se se vedno uporablja tam, kjer na primer ne zelimo tezav pri prenosu dokumentov po elektronski posti. Uporabno je tudi kot najmanjsi skupni imenovalec, ki ga razume najvecja mnozica operacijskih sistemov in na njih vezane programske opreme. Zal pri tem v praksi sumnike pisemo kot sicnike, tako da je besedilo vcasih zaradi tega dvoumno. Posebej razvpit je dvoumni primer Problem je resen.

Omejitve, zaradi katerih smo bili se nedavno prisiljeni uporabljati sedembitna kodiranja, z napredkom izginjajo. Primer sedembitnega kodiranja je JUS I.B1.002 .

Kot uporaben sedembitni nadomestek za osembitno kodiranje s posebnimi znaki za sumnike se najvec uporablja zapis, kjer so sumniki nadomesceni s sicniki, prek katerimi stoji znak < '' >  . Tudi to kodiranje uvrscamo med sedembitna kodiranja, ceprav so znaki za sumnike razvezani cez vec kot en byte.

Osembitna kodna tabela

Od osembitnih kodiranj se najvec uporablja kodiranja Latin2  (ISO-8859-2 ) na sistemih UNIX  in CP852  ter CP1250  pod MS-DOS  oziroma Okni.

Osembitno kodiranje se trenutno uporablja najpogosteje, pri cemer pa ze obstajajo naprednejsi vecbytni standardi, med katerimi je potrebno omeniti standard UNICODE .

Avtor se zaradi tega, ker je kodiranje Latin2  uvrsceno med mednarodne standarde, ki jih je potrdil ISO, in zaradi njegove razsirjenosti zavzema za uporabo kodiranja Latin2 , dokler ne bo vecina kljucnih orodij podpirala novega standarda UNICODE . Vsa druga tu imenovana osembitna kodiranja nimajo statusa mednarodnega standarda in so kvecjemu industrijski standardi, ki jih dolocajo nekatere programske hise. Uporabljamo jih lahko le kot pomozno kodiranje, potem ko smo kot osnovno izbiro ponudili katero izmed mednarodno standardiziranih moznosti.

Veczlozna (vecbytna) kodna tabela

Veczlozna (angl. multibyte) kodiranja so tista, pri katerem zapisu enega znaka pripada eden ali vec zlogov (bytov).

Znaki za slovenske sumnike so po mednarodnem standardu ISO/IEC 10646-1:1993 / UNICODE 2.1 uvrsceni v podrocje Latin Extended-A . Ti znaki so vsi v obmocju U+0100 to U+017F, to je od znaka v desetiskem zapisu 256 do 383. Znaki v razporedu UNICODE so oznaceni takole: U+xxxx. Oznaka xxxx je sestnajstiski zapis lege znaka v kodni tabeli.

Vec o tej temi na http://czyborra.com/unicode/characters.html

Preglednice kodnih tabel

 Tabela 1 prikazuje standardizirane nabore znakov z vsemi slovenskimi sumniki. V tabeli 3 so navedeni preostali nacini kodiranja, ki pa niso standardizirani.


CodePage CodePage ISO JUS HTML
852 1250 8859-2 I.B1.002 UTF-8
. . Latin2  . .
oct dec hex oct dec hex oct dec hex oct dec hex znaki
"C 254 172 AC 310 200 C8 310 200 C8 136 94 5E &#268
"c 273 159 9F 250 232 E8 350 232 E8 176 126 7E &#269
"S 346 230 E6 212 138 8A 251 169 A9 133 91 5B &#352
"s 347 231 E7 232 154 9A 271 185 B9 173 123 7B &#353
"Z 246 166 A6 216 142 8E 256 174 AE 100 64 40 &#381
"z 247 167 A7 236 158 9E 276 190 BE 140 96 60 &#382
Tabela: Standardizirani nabori znakov z vsemi slovenskimi sumniki. Kodna nabora CP 852 in CP 1250 sta industrijska standarda. Kodni nabor ISO-8859-2 je mednarodni standard.



  
Slika 2: Razpored ISO 646. Sliko je prispeval  Roman Czyborra .
\begin{figure}
\begin{center}
 \end{center}\hrule\end{figure}



  
Slika 3: Razpored ISO 8859-2. Sliko je prispeval  Roman Czyborra .
\begin{figure}
\begin{center}
 \end{center}\hrule\end{figure}



  
Slika 4: Razpored ISO 8859-2 v pisavi fixed .
\begin{figure}
\begin{center}
 \end{center}\hrule\end{figure}



  
Slika 5: Druga stran razporeda ISO 10646 v pisavi ClearlyU, avtor Mark Leisher.
\begin{figure}
\begin{center}
 \end{center}\hrule\end{figure}


TEX123 LATEX LATEX TEX
babel
znaki znaki znaki znaki
"C \2 "C \v{C} \v C
"c \1 "c \v{c} \v c
"S \4 "S \v{S} \v S
"s \3 "s \v{s} \v s
"Z \6 "Z \v{Z} \v Z
"z \5 "z \v{z} \v z
Tabela: Pogostejsi nacini kodiranja sumnikov v sistemih TEX in LATEX.


Teletype ASCII Quoted Printable Apple CorelDraw Amiga UTF-8
sicniki ISO 8859-2 CE . . dvobytni
znaki znaki znaki hex hex hex hex znaki
"C CC C =C8 89 ?? ?? C4 8C &#268
"c cc c =E8 8B ?? ?? C4 8D &#269
"S SS S =A9 E1 ?? ?? C5 A0 &#352
"s ss s =B9 E4 ?? ?? C5 A1 &#353
"Z ZZ Z =AE EB ?? ?? C5 BD &#381
"z zz z =BE EC ?? ?? C5 BE &#382
Tabela: Pogostejsi nestandardizirani nabori znakov z vsemi slovenskimi sumniki.



slovarsko dvispell SCA
kodiranje kodiranje baza Armorial
znaki znaki znaki
"C CZ C-caron {Cv}
"c cz c-caron {cv}
"S SZ S-caron {Sv}
"s sz s-caron {sv}
"Z ZZ Z-caron {Zv}
"z zz z-caron {zv}
Tabela: Redkejsi nestandardizirani nabori znakov z vsemi slovenskimi sumniki.

Baza SCA Armorial: Vec o tej temi na http://www.sca.org/heraldry/OandA/data_symbols.html

PostScript SGML
"C /Ccaron &Ccaron;
"c /ccaron &ccaron;
"S /Scaron &Scaron;
"s /scaron &scaron;
"Z /Zcaron &Zcaron;
"z /zcaron &zcaron;
Tabela: Opisno kodiranje znakov za sumnike v jezikih PostScript in SGML.


Java
"C \u010C
"c \u010D
"S \u0160
"s \u0161
"Z \u017D
"z \u017E
Tabela 6: V javi se od razlicice 1.1 uporablja standard Unicode, najprej v razlicici 1.5 in kasneje v 2.0.


ISO 10646
dec hex ime
"C 268 010C LATIN CAPITAL LETTER C WITH CARON
"c 269 010D LATIN SMALL LETTER C WITH CARON
"S 352 0160 LATIN CAPITAL LETTER S WITH CARON
"s 353 0161 LATIN SMALL LETTER S WITH CARON
"Z 381 017D LATIN CAPITAL LETTER Z WITH CARON
"z 382 017E LATIN SMALL LETTER Z WITH CARON
Tabela: Tabela z imeni ISO 10646 za slovenske znake s sumniki.


MES
dec hex ime
"C 268 010C LATIN CAPITAL LETTER C WITH CARON
"c 269 010D LATIN SMALL LETTER C WITH CARON
"S 352 0160 LATIN CAPITAL LETTER S WITH CARON
"s 353 0161 LATIN SMALL LETTER S WITH CARON
"Z 381 017D LATIN CAPITAL LETTER Z WITH CARON
"z 382 017E LATIN SMALL LETTER Z WITH CARON
Tabela 8: Tehnicno porocilo ENV 1973:1995 o minimalnem evropskem podnaboru MES nabora ISO/IEC 10646-1. Sumniki so v tabeli nabora MES na enakih mestih kot v ISO 10646.

O MES: Vec o tej temi na http://www.indigo.ie/egt/standards/mes.html

RFC 1345
znak
"C C<
"c c<
"S S<
"s s<
"Z Z<
"z z<
Tabela: Opisno kodiranje sumnikov, kot ga predlaga RFC 1345.

RFC 1345: Vec o tej temi na http://andrew2.andrew.cmu.edu/rfc/rfc1345.html

Apple Macintosh: Vec o tej temi na http://www.kostis.net/charsets/applecro.html Pogostejse oznake z enakim pomenom: IBM852 , 852 , cp852 , ibm852 .

Pogostejse oznake z enakim pomenom: ISO646-YU , JUS I.B1.002 , isoir14 , YUSCII, SLOSCII.

Pogostejse oznake z enakim pomenom: ISO 8859-2:1987 , iso88592 , iso885921987 , l2 , latin2 , isoir101 .

Pogostejse oznake z enakim pomenom: HTML , html , w3 , www .

Pogostejse oznake z enakim pomenom: UTF-2, (filesystem-safe) FSS-UTF, UTF-8.

Vec o tej temi na http://czyborra.com/utf/

Vec o tej temi na http://www.adobe.com/supportservice/devrelations/typeforum/glyphlist.txt

Slike znakov v obmocju U+0100 do U+017F so dostopne na strani: http://charts.unicode.org/Unicode.charts/glyphless/U0100.html . UTF-8 je nacin, kako zapisemo znake po razporedu UNICODE z najvec stirimi bajti. Spodnja funkcija, zapisana v jeziku C, pretvori znak s kodo po razporedu UNICODE, v zapis UTF-8:

putwchar(c)
{
  if (c < 0x80) {
    putchar (c);                      /* 0 x x x x x x x */ 
  }
  else if (c < 0x800) {
    putchar (0xC0 | c>>6);            /* 1 1 0 x x x x x */ 
    putchar (0x80 | c & 0x3F);        /* 1 0 x x x x x x */ 
  }
  else if (c < 0x10000) {             
    putchar (0xE0 | c>>12);           /* 1 1 1 0 x x x x */   
    putchar (0x80 | c>>6 & 0x3F);     /* 1 0 x x x x x x */ 
    putchar (0x80 | c & 0x3F);        /* 1 0 x x x x x x */ 
  }
  else if (c < 0x200000) {
    putchar (0xF0 | c>>18);           /* 1 1 1 1 0 x x x */ 
    putchar (0x80 | c>>12 & 0x3F);    /* 1 0 x x x x x x */ 
    putchar (0x80 | c>>6 & 0x3F);     /* 1 0 x x x x x x */ 
    putchar (0x80 | c & 0x3F);        /* 1 0 x x x x x x */ 
  }
}

Nekatere implementacije se kodiranja UTF-8 ne drzijo dobesedno. UTF-8 v razlicici, kot ga razume Java, drugace zapisuje znak 0 in pozna le trobajtni podnabor.

Quoted Printable   ni poseben kodni razpored. Tako se imenuje zapis osembitih znakov s sedembitnimi, da se izognemo morebitnim tezavam pri prenasanju po mrezi ali med sistemi. Znaki nad mestom 127 so zapisani tako, da znaku =  sledi njihova dvocrkovna sestnajstiska koda.

PostScript

Jezik PostScript je nastal okrog leta 1976 v podjetju Evans & Sutherland Computer, kjer so ga imenovali 'Design System'. Nastal je kot rezultat razikovalnega projekta, ki se je ukvarjal z uporabnostjo interpretiranega jezika za opis zapletenih tridimenzionalnih objektov, hranjenih v podatkovnih bazah. Projekt je uspel in jezik se je prijel za uporabo v aplikacijah CAD.

Znaki so po Adobeovem standardu za postscript predstavljeni v dveh oblikah s kodo ali z opisnim imenom. Vsak znak ima ime in svojo graficno podobo, kodiranim znakom pripada pa se enobytna koda.

Adobeov Postscript language reference manual (1985) v zvezi s slovenskimi znaki predpise le imena za male in velike crke S   in Z  . Crko C   zal tedaj izpusti, a jo kasneje doda. Preglednica 5 podaja imena za slovenske znake. Noben sumnik nima svoje bytne kode.




next up previous contents index
Naprej: Naravni jezik Navzgor: Kodiranje slovenskih znakov Nazaj: Kodiranje slovenskih znakov

GNU slovenizacija
1/26/2000