Daniele Fusi - Informatica per le scienze umane
1. Elementi di base
La codifica digitale (= numerica) dell’informatica si basa su un sistema binario a due sole cifre, 0 e 1. Sistema posizionale in opposizione agli antichi sistemi additivi, come i numeri latini.
Sistema additivo: III = 1+1+1= 30 1 10
Sistema decimale: III= (1x100 +1x101 +1x102)= 111
Sistema binario: III (1x20 +1x21 +1x22)= 7
Sistema esadecimale (per codifiche testuali): caratteri da 0 a 9 con numeri arabi + da 10 a 16 con lettere A-F: 2F= 47
2. Rappresentazione digitale del testo: fasi per la codificazione del testo
ACR = Repertorio astratto = insieme di caratteri da codificare, scegliere se maiuscolo/minuscolo, accentato/non accentato ecc. siano lo stesso carattere o diversi. ASCII ne aveva 128.
CCS = Spazio di codifica. I caratteri codificati sono messi in una griglia. Code point value = posizione di un carattere
Encoding space = spazio di codifica, sue dimensioni/ampiezza. ASCII aveva 8 colonne x 16 righe
CEF = Forma di memorizzazione. Fa corrispondere 1 code point value a un numero prestabilito detto code unit.
CES = Schema di codifica = rappresentazione delle code unit come sequenze di byte (8 bit). In ASCII ogni carattere occupa un byte ma uno dei bit resta inutilizzato.
ASCII, 1967
Repertorio limitato adatto alla sola lingua inglese. Alcuni codici erano istruzioni per la telescrivente (del tipo: “vai a capo”). Le maiuscole differiscono dalle minuscole solo per il bit 5. Per sopperire alle molte mancanze: estensione di un carattere (farlo corrispondere a più segni che siano graficamente simili); sovrascrivere alcuni caratteri; fare qualche variante locale; usare escape che cambia l’interpretazione del segno, che ad esempio da latino può diventare greco. Era un po’ scomodo però.
Metacodifica
Betacode: usato per la letteratura greca/latina. È una metacodifica. La base è ASCII ma ha significati metatestuali del tipo A=α. Un simbolo avverte che inizia il testo greco o latino, come un’escape. Problema: discrasia tra la macchina che legge un normale ASCII e l’utente che pensa a un testo greco.
SAMPA: i caratteri dello standard ASCII sono usati per interpretare i fonemi IPA. Sono scelti per somiglianza grafica.
ISO 8859 (1987): famiglia di codifiche a 8 bit. Usano il bit che ASCII non utilizzava. Quindi i caratteri sono 256 e non più 128. Varie versioni nazionali, ognuna riempie lo spazio libero come le serve.
Code Page Microsoft = alcuni simboli erano per esempio riquadro pieno/vuoto.
Apple = anni ’80 crea il proprio repertorio dove inserisce anche il proprio logo della mela.
Espedienti: codifica arbitraria e font
In base alle esigenze, per esempio stampare un dizionario, ci si creava sistemi di codifica ad hoc con ampio uso di escape. È impossibile o quasi convertire un sistema in un altro. Sono sistemi che muoiono con i loro creatori.
Font: per visualizzare le codifiche arbitrarie si usa un font ad hoc: tu digiti A e leggi sullo schermo α. Il problema è che solo apparentemente stai scrivendo in greco, secondo il computer continui a scrivere in ASCII. Se provassi a riordinare alfabeticamente il tuo testo…
Unicode: nascita dello standard e ISO 10646
Per ovviare all’esistenza di centinaia di standard frammentari e in parte sovrapponibili, la via da percorrere era l’estensione dello spazio di codifica, proceduta a multipli di 8. ISO 10646 porta lo spazio di codifica a 32 bit (4 byte) per definire 2 miliardi di caratteri. Lo standard dispone i caratteri su 256 piani, ciascuno è una griglia di 256x256.
BMP = il primo di questi piani. Contiene la maggior parte dei caratteri europei se si usa solo quello si risparmia sforzo al pc.
Unicode Consortium: diversa proposta da Xerox e Apple su un unico piano. Unicode si può anche personalizzare per esempio con loghi. A volte è difficile stabilire cosa è un carattere autonomo e cosa no, la sovrapposizione è ancora possibile.
10 principi teorici guida di Unicode:
- Universalità