Kodovani cestiny

Alexandr Malusek malusek na hroch.ujf.cas.cz
Čtvrtek Prosinec 23 19:20:44 CET 1999


11314 na senior.cz (Lub_Lau) writes:

> Jelikoz se tyto problemy ztraty puvodniho obsahu se mi obcasne 
> opakuji, potrebuji popis rozdilu znakovych sad (nemyslim tim, 
> konkretni znakove tabulky prislusnych sad kodovani) zvlaste v 
> kritickych mistech, kde neexistuje konkretni znak z prevadene 
> znakove sady.

Vezmete zdroj znaku (cstocs), vse smichejte (cut -c6- *.enc),
vydestilujte (sort -u) a z vysledneho produktu vyberte jen to
potrebne:

$ cut -c6- /usr/lib/cstocs/*.enc | sort -u > znaky

To pak predejte AWK skriptu tabulka.awk:
$ awk -f tabulka.awk znaky > tabulka.txt

Soubor tabulka.txt popisuje ony rozdily znakovych sad. (Kvuli rozsahu
349 radek uvadim jen zacatek a konec).

$ cat tabulka.txt
1250  1252  ascii cork  il1   il2   kam   koi8  mac   macce pc2   vga   symbol
+     +     +     +     +     +     +     +     +     +     +     +     0
+     +     +     +     +     +     +     +     +     +     +     +     1
...
+                 +           +                       +     +           Zacute
+                 +           +                       +     +           zacute
+                 +           +     +     +           +     +           Zcaron
+                 +           +     +     +           +     +           zcaron

$ cat tabulka.awk
BEGIN {
    nsad = 12;
    sada[0] = "1250"; sada[1] = "1252"; sada[2] = "ascii"; sada[3] = "cork";
    sada[4] = "il1";  sada[5] = "il2";  sada[6] = "kam";   sada[7] = "koi8";
    sada[8] = "mac";  sada[9] = "macce";sada[10]= "pc2";   sada[11]= "vga";

    for (i = 0; i < nsad; i++)
	{
	    nacti(sada[i]);
	    printf("%-6s", sada[i]);
	}
    print "symbol";
}

{
    for (i = 0; i < nsad; i++)
	printf("%-6s", znak[sada[i],$1]);
    printf("%s\n", $1);
}

function nacti(sadaf) {
    soubor = sadaf ".enc";
    while (getline < soubor)
	znak[sadaf,$2] = "+";
    close(soubor);
}
	    
Za spravnost nerucim, napsal jsem to narychlo. Jina kodovani, zmeny
formatu, jine adresare, ... si kazdy dodela podle svych potreb.

--
A. Malusek  (malusek na ujf.cas.cz)
UJF AV CR


Další informace o konferenci Linux