Corso di informatica - Codifica numeri e testo


 

 

Decimale
Binario
Esadecimale
0
0000 0
1
0001 1
2
0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 10
11 1011 11
12 1100 12
13 1101 13
14 1110 14
15 1111 15

 

 

E' importante comunque capire che lo standard ASCII è appunto uno "standard", ossia una convenzione adottata per comodità e praticità; come spesso capita nell'informatica, c'è sempre qualcuno che fa a modo suo; in questo caso il "dissidente" è niente meno che IBM.

Negli anni 50-60 IBM (e i suoi concorrenti) non avevano alcuna intenzione di condividere gli standard, IBM anzi, godendo di un "quasi monopolio" tendeva a "imporre" i suoi criteri di codifica, sui quali però deteneva il Copyright in modo da poterli gestire e modificare a suo piacimento.

In quel periodo IBM aveva messo a punto la codifica EBCDIC (Extended Binary Code Data Interchange Code), una tabella di 256 caratteri associati alle sequenze di 8 bit.

La tabella EBCDIC era, all'epoca, una prerogativa e praticamente un esclusiva dei sistemi IBM, dai Mainframe ai Minicomputer (non esistevano ancora i Personal...) mentre la concorrenza si è sempre "appoggiata" allo standard ASCII  fin da quando è stato definito.

EBCDIC sarebbe un pezzo da museo, se non fosse per il banale fatto che i sistemi Mainframe e Midframe IBM (quelli chiamati, adesso zSeries e iSeries), discendenti dagli storici sistemi S/360-S/370-S/34-S/38, utilizzano ancora questa codifica, e quindi i dati memorizzati nei DB su questi sistemi sono in EBCDIC.

Non si tratta di una questione banale o di poco conto: i Mainframe e i Midframe IBM sono tuttora saldamente in uso presso centinaia di migliaia di organizzazioni anche di rilevanza mondiale: Aziende, Banche, Ospedali, ecc.ecc.

Questo normalmente è quasi trasparente per gli "utenti finali", perchè i programmi che si occupano del trasferimento dati da un sistema di questo tipo ad un personal (o comunque ad un sistema "non EBCDIC") utilizzano delle "tavole di conversione" per "mappare" i caratteri da EBCDIC a ASCII e viceversa; peccato che qualche problemino si presenta per i famigerati caratteri "accentati" (àòèéìù) o speciali (§£$€) che, spesso, vengono interpretati male.