200 likes | 401 Views
Standardizacija in kakovost informacijskih sistemov. Nabori znakov. Prazgodovina: Fieldata. Ameriški vojaški standard iz petdesetih 6-biten Povezan s sistemom vojaškim sistemom SAGE, katerega deli so še danes uporabljani v kontroli poletov. Prazgodovina: EBCDIC. IBM 360 (1963)
E N D
Standardizacija in kakovost informacijskih sistemov Nabori znakov
Prazgodovina: Fieldata • Ameriški vojaški standard iz petdesetih • 6-biten • Povezan s sistemom vojaškim sistemom SAGE, katerega deli so še danes uporabljani v kontroli poletov
Prazgodovina: EBCDIC • IBM 360 (1963) • Format za luknjane kartice • 8-biten! (ASCII je 7-biten) • Kot pri ASCII obstajajo tudi tu različne kodne strani za različne jezike • Nima posebnih prednosti pred osnovnim ASCII • Še vedno v rabi na IBMovih večjih računalnikih (mainframe), a le zaradi združljivosti
Prazgodovina: ASCII • Bellovi teleprinterji • Prvotno so nameravali uporabljati 6-bitni Fieldata • 0-31 so kontrolni znaki, potrebni za teleprinterje, terminale, tiskalnike • danes v rabi pretežno le še LF in CR, žal nekonsistentno • Iz njega izhaja današnji Unicode • Nekateri ga imajo za najuspešnejši standard vseh časov
YUSCII (7 bitov) • Žrtvovani: @, [, \, ], `, {, |, } • teh je najmanj škoda • mogoče jih je natipkati • sprejemljivo za tiskalnike brez 8-bitnih znakov • Enim prvih grafičnih kartic smo dodajali stikala za preklop med ASCII in YUSCII • Še vedno krožijo fonti s takim razporedom Ž Š Đ Ć Č
IBMove razširitve ASCIIja na 8 bitov:“kodne strani” (code pages) • Obdržijo vse znake v spodnjem delu (7 bitov) • Znaki s kodami nad 128 so različni v različnih straneh, npr: • codepage 437, “DOS-US”: IBM PC (1981), zgoraj so okvirčki
8-bitni “ASCII”:IBMove “kodne strani” – (DOS) code pages • Obdržijo vse znake v spodnjem delu (7 bitov) • Znaki s kodami nad 128 so različni v različnih straneh, npr: • CP 437 (DOS-US, IBM 437): na prvih IBM PC (1981) • zgornje kode so uporabili za okvirčke • CP 852 (IBM 852, Slavic code page): vsebuje vzhodno evropske znake, vključno z našimi • žal so seveda tam, kjer so v ameriškem 437 okvirčki... • CP 737 – grščina • CP 855 – cirilica
8-bitni “ASCII”:Microsoftove “ANSI code pages” • 1250 — East European Latin • 1251 — Cyrillic • 1252 — West European Latin • 1253 — Greek • 1254 — Turkish • 1255 — Hebrew • 1256 — Arabic • 1257 — Baltic • 1258 — Vietnamese • Ti standardi so podobni ISO-8859, vendar dovolj različni, da povzročajo težave – 1250 je zelo podoben ISO-8859-1 • Zakaj je to potrebno? Če se “standardi” razlikujejo, moraš, če nočeš imeti problemov, uporabljati isti sistem, kot večina. Kdo s tem pridobi? Tisti, katerega sistem uporablja večina.
ISO-8859:Standardni 8-bitni kodni sistemi • Spodnji del je vedno enak ASCII • ISO-8859-1 (Latin-1): zahodno evropski jeziki, albanščina, svahili; podoben mu je CP 1252 • ISO-8859-2 (Latin-2): vzhodno evropski (slovanski, madžarščina in romunščina); podoben CP 1250 • ISO-8859-3 (Latin-3): južno evropski: turški, malteški, esperanto • ... do 8859-14, poleg tega pa še 15 in 16, ki sta revidirana 1 in 2 • Ne vsebuje znakov besednih pisav (kitajska, japonska...) • Ne vsebuje znakov, ki v času sestavljanja standarda niso bili splošno uporabljani: • ima »takšne narekovaje« • nima pa “teh narekovajev”, ker se tedaj še niso uporabljali (ima pa jih CP 1252, zato jih morajo podpirati tudi vsi ne-Microsoftovi sistemi)
Revizije 8859 • ISO 8859-15: kot ISO 8859-1, a brez nekaterih pogosteje uporabljanih znakov, ima pa simbol za evro, poleg tega pa še Š, š, Ž, ž, Œ, œ inŸ, ker to potrebujejo Francozi, Finci in Estonci • Zveni znano? S katerim našim znakom so najpogosteje težave? • ISO 8859-16: združeni znaki za južno in vzhodno evropo (slovenščina, hrvaščina, italijanščina, madžarščina, poljščina, romunščina, mimogrede pa še francoščina, finščina in nemščina) (http://en.wikipedia.org/wiki/ISO_8859)
Unicode • V načelu gre za 32-bitni nabor, vendar lahko kodiramo s spremenljivo dolžino • Prvih 256 znakov identičnih ISO 8859-1 (zakaj ne 8859-2? ) • Vseh doslej določenih znakov je približno 90.000, večina je kitajskih in korejskih • Unicode pozna različne oblike kodiranja • UTF-32 je preprost: vsak znak ima 32 bitov (4 bajte);problem je little- in big-endian • UTF-8 je najbolj uveljavljen, saj je združljiv z (7-bitnim) ASCII
Unicode: UTF 8 • Znak je zapisan z 1-4 bajti • 1 bajt za angleške znake • 2 bajta za vse evropske, hebrejske...
Kritike Unicodea • Nekateri Azijci vidijo v njem zaroto Zahoda; • Unicode Consortium naj bi ne “razumel” vzhodnih pisav • V resnici je v konzorciju veliko predstavnikov Kitajcev, Korejcev in Japoncev • Tajski znaki naj bi bili razporejeni nelogično • Standard povzema obstoječi tajski standard
Pisave, ki jih še ni v Unicode • Egiptovskihieroglifi in sumerski klinopis • Klingonščina • Predlog vključitve (1997) zavrnjen z razlago, da je uradna pisava Klingoncev latinščina (kar je res!) • Zdaj pišejo bloge v klingonščini, da bi pisava dejansko postala uporabljana, tako da upanje na popravo krivice ostaja • Tolkienove vilinske pisave (TengwarinCirth); predlog še preučujejo • Unicode vsebuje prostor za približno 6000 znakov, ki nikoli ne bodo standardizirani. Obstaja skupina (Tolkienisti, Klingoni...), ki se dogovarja za “standardizacijo” tega prostora.