Naprej: Naravni jezik
Navzgor: Kodiranje slovenskih znakov
Nazaj: Kodiranje slovenskih znakov
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.
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.
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 (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
Tabela 1 prikazuje standardizirane nabore znakov z vsemi slovenskimi sumniki. V tabeli 3 so navedeni preostali nacini kodiranja, ki pa niso standardizirani.
| 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 |
| 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 | Č | ||
| "c | cc | c | =E8 | 8B | ?? | ?? | C4 8D | č | ||
| "S | SS | S | =A9 | E1 | ?? | ?? | C5 A0 | Š | ||
| "s | ss | s | =B9 | E4 | ?? | ?? | C5 A1 | š | ||
| "Z | ZZ | Z | =AE | EB | ?? | ?? | C5 BD | Ž | ||
| "z | zz | z | =BE | EC | ?? | ?? | C5 BE | ž | ||
| 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} |
Baza SCA Armorial: Vec o tej temi na http://www.sca.org/heraldry/OandA/data_symbols.html
| PostScript | SGML | |
| "C | /Ccaron | Č |
| "c | /ccaron | č |
| "S | /Scaron | Š |
| "s | /scaron | š |
| "Z | /Zcaron | Ž |
| "z | /zcaron | ž |
| Java | |
| "C | \u010C |
| "c | \u010D |
| "S | \u0160 |
| "s | \u0161 |
| "Z | \u017D |
| "z | \u017E |
| 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 |
| 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 |
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< |
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.
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.
GNU slovenizacija