Enkonduko en la aŭtomatan daten-prilaboradon/Kodado de ne-askiaj simboloj

From Wikiversity

Kodado de datenaj tipoj: ne-aski-aj simboloj[edit]

Modifoj de Askio[edit]

La kodo Askio enhavas nur 2×26 literojn, tiujn de la angla formo de la latina alfabeto (A–Z, a–z). Ili ne sufiĉas por aliaj lingvoj, kiuj uzas literojn kun "kromsignoj" (ekz. á, â, à, ä, ā, ă, ą) kaj proprajn liter-formojn (ekzemple , œ, ß, ð).

Tiaj specialaj simboloj foje estas kodataj per ŝanĝo de jenaj malpli uzataj Askiaj signoj: @[\]{|}~. Tio okazis precipe en tempoj, kiam pro diversaj restriktoj oni uzis nur 7 duumojn en okopo. Nun tamen plej ofte oni uzas la okopojn inter 160 kaj 255, eluzante ĉiujn 8 duumojn en okopo. Ĉar ili ne sufiĉas por ĉiuj lingvoj, oni difinis diversajn normojn (laŭ la nomo "ISO 8859"), precipe:

  • ISO 8859-1 aŭ Latina-1 por okcident- kaj nord-eŭropaj lingvoj, ekzemple Sveda, Islanda, Feroa
  • ISO 8859-2 aŭ Latina-2 por centra-eŭropaj kaj orient-eŭropaj lingvoj, ekz. Pola, Ĉeĥa, Hungara, Rumana; ankaŭ la Germanaj literoj troviĝas tie en la samaj pozicioj kiel ĉe 8859-1
  • ISO 8859-3 aŭ Latina-3 por la Malta, Turka kaj Esperanto;
  • ISO 8859-15, plibonigita versio de 8859-1, kiu pli bone servas al la franca lingvo;
Komparo de ISO 8859-1 kaj 8859-3
Bildo kiu montras la duan duonon de la signaro de la kodo 8859-1; la suba parto, identa al Askio, ne estas montrata.
Bildo, kiu montras la signaron de la kodo 8859-3; la super-signaj literoj de la Internacia Lingvo Esperanto estas flave markitaj.

Kelkaj literoj estas samloke kodataj en la tri kodoj 8859-1, -2, -3; ekzemple la vokaloj kun korno (á, é, ...), malkorno (à, è, ...) kaj ĉapelo (â, ê, ...) kaj la Germanaj umlaŭtoj (äöü).

Kodoj en Vindozo[edit]

Vindozo de sia komenco uzis la kodon Latina-1 (sub la nomo "ANSI-kodo") kaj ofte iom pligrandigas ĝin al la "kod-paĝo 1252" (KP 1252), kiu uzas ankaŭ la kod-poziciojn de 128 al 159, kiujn Latina-1 ne uzas. Por landoj, kies lingvoj bezonas aliajn literojn, ekzistas pliaj "kod-paĝoj".

La unuaj versioj de Vindozo teknike baziĝis sur la sistemo DOS. DOS uzis alian kod-paĝon, kun numero 437. Ankaŭ KP 437 estas kongrua kun Askio, do la kodoj de 32 al 127 havas la samajn valorojn kiel en Askio. Sed la pli altaj numeroj havas tute aliajn signifojn.

La vindoza "komando-interpretilo" (CMD), kiu ekzistas ankaŭ en novaj Vindozoj, funkcias kiel la iama DOS-interpretilo, kaj ĝi ankoraŭ uzas KP 437. Tial tekstoj skribitaj en Vindozo ofte aspektas strange en CMD, kaj inverse. Malgranda ekzemplo tion montras; ĝi eliras de jena teksto:

Der größte Jäger der Wüste.
DER GRÖSSTE JÄGER DER WÜSTE.
°°° §§§ ²²² ³³³ áâà éêè íîì óôò úûù 

Se oni kodas tiun tekston en KP 1252 (Vindozo) kaj montras en KP 437 (DOS), la rezulto estas jena (la aski-aj signoj restas sen-ŝanĝaj):

Se, inverse, oni kodas tiun tekston en KP 437 (DOS) kaj montras en KP 1252 (Vindozo), la rezulto estas jena (la samaj literoj estas modifitaj, sed en alia maniero):

Kod-valoroj de la unua linio de tiu ĉi teksto
D e r g r ö ß t e J ä g e r d e r W ü s t e .
KP 437 68 101 114 32 103 114 148 225 116 101 32 74 132 103 101 114 32 100 101 114 32 87 129 115 116 101 46
KP 1252 68 101 114 32 103 114 246 223 116 101 32 74 228 103 101 114 32 100 101 114 32 87 252 115 116 101 46

Unikodo[edit]

En 1991 aperis nova kodosistemo kun la nomo Unikodo (UNICODE). Tiu sistemo komence kodis ĉiun signon per 16-duuma nombro kaj tiel teorie povis kodi 216 = 65.536 signojn. Tiel ĝi povas kodi ne nur por la specialaj signoj de ĉiuj latinskribaj lingvoj, sed ankaŭ por aliaj skriboj, inkluzive de la ĉina kaj de la japana. Unikodo estas la interna kodo uzata en la programad-lingvo JAVA kaj en la dosiera sistemo de novaj Vindozoj (ek de Vindozo NT).

Kvankam la salto de 8-duumaj kodoj al 65.536 signoj estis grandega, montriĝis, ke eĉ tiom da signoj ne sufiĉas. Unikodo nun uzas iom pli ol unu milionon "kod-punktojn" (= numeroj); tute precize estas 1.114.112 kod-punktoj (17 × 216). Ĝis nun Unikodo difinis signojn por ĉirkaŭ 100.000 kodpunktoj; restas do konsiderinda "rezervo".

Eĉ kiam Unikodo estos plejparte anstataŭinta la aliajn kodojn, la kodado de signoj devos plu evolui, ĉar ekestadas novaj signoj. Ekzemple en Eŭropo graviĝis la eŭro-simbolo ([[Image:|top|alt="EUR/€"]]), kaj ankaŭ la ĉina ideogramaro evoluas en maniero, kiun Unikodo ne kapablas aŭtomate sekvi.

Tamen estas principo, ke unikoda signo neniam estu modifita aŭ forigita el la kodo.

Specimenaj demandoj

1 Per kiu 8-duuma kodo, normigita laŭ ISO, eblas kodi okcident-eŭropajn lingvojn?

neniu
ESO-tera
Iso 36°09’E, 36°53’N
ISO 666
ISO 8859-1 (Latina-1)
ISO 8859-2 (Latina-2)
ISO 8859-3 (Latina-3)
ISO 9001

2 Kiuj signoj ŝanĝiĝas, kiam oni rigardas tekston en KP 1252 per KP 437?

ĉiuj signoj
Signoj kies numero estas inter 0 kaj 159
Signoj kies numero estas inter 160 kaj 255
neniu signo

3 Kiuj signoj ne ŝanĝiĝas, kiam oni rigardas tekston en KP 1252 per KP 437?

ĉiuj signoj
Signoj kies numero estas inter 0 kaj 159
Signoj kies numero estas inter 160 kaj 255
neniu signo

4 Kiu tre konata program-lingvo defaŭlte uzas Unikodon por reprezenti signojn?

C
JAVA
Lua
Python 2

5 Kiom da signoj (proksimume) povas kodi Unikodo?

100
256
100
1000
100 000
1 000 000 (unu milionon)

6 Kiom da signoj (proksimume) Unikodo nun difinas?

100
256
100
1000
100 000
1 000 000 (unu milionon)

7 Kial Unikodo ne povas esti komplete stabila?

Ĉar la unikoda komitato estas malstabilaj organizajo
Ĉar la unikodaj komitatanoj estas malstabilaj uloj
Ĉar ekestadas novaj signoj.