PROGRAMMIAMO
File - Estensioni del codice ASCII
Codice ASCII e numero di bit

Come abbiamo visto nelle precedenti lezioni, il codice ASCII comprende 128 caratteri in totale, fra stampabili e non stampabili. Come mai questo numero? Il motivo sta nel fatto che originalmente furono usati 7 bit per rappresentare questo codice. Con 7 bit si possono scrivere tutti i numeri che vanno da 0000000 (cioè 0) fino a 1111111 (cioè 127 in decimale), per un totale di 27 = 128 combinazioni diverse.

Il numero di bit (7) fu adottato molto prima dell'avvento dei moderni computer, che utilizzano generalmente gruppi di 8 bit (byte) e copre appena le lettere dell'alfabeto inglese, lasciando fuori molti caratteri degli altri alfabeti (fra cui per esempio tutte le lettere accentate dell'alfabeto italiano).

Allo scopo di includere nel codice i caratteri mancanti, negli anni sono state proposte e utilizzate molte estensioni del codice ASCII originario. Per lo più queste estensione fanno uso di 8 bit, cioè consentono di codificare 28 = 256 caratteri diversi. Generalmente i primi 128 caratteri coincidono con quelli del codice ASCII standard, mentre i successivi 128 sono i caratteri aggiunti dall'estensione. In questo modo tutti i caratteri che iniziano col bit più significativo 0 appartengono al codice ASCII standard; quelli che iniziano con 1 fanno parte dell'estensione.

Molte delle estensioni proposte per il codice ASCII hanno avuto vita breve, in quanto erano legate a un particolare hardware o software.

 

Code page 437 (ALT code)

Si tratta di un estensione del codice ASCII a 8 bit introdotta inizialmente nei computer IBM compatibili. Con questa estensione vengono aggiunte al codice ASCII le lettere accentate dell'alfabeto latino, alcune lettere greche, icone e segni vari.

L'interesse di questa estensione risiede nel fatto che essa è attualmente usata nei computer con sistema operativo Windows per generare simboli (anche non presenti sulla tastiera) mediante la combinazione di tasti ALT + numero (premendo il simbolo ALT e contemporaneamente digitando un numero sul tastierino numerico).

Per esempio con ALT+123 si producono le parentesi graffe aperte {, con ALT+125 le graffe chiuse }, con ALT+164 la lettera ñ, eccetera. I valori numerici inferiori a 128 producono i caratteri del codice ASCII standard (per esempio ALT + 65 produce la lettera A maiuscola).

 

La codifica ISO 8859 e Windows-1252 (ANSI)

Naturalmente 256 caratteri (quanti se ne ottengono estendendo il codice ASCII a 8 bit) sono ancora del tutto insufficienti a rappresentare tutti i simboli di tutti i differenti alfabeti esistenti al mondo. L’ISO (International Organization for Standardization ), ente di standardizzazione internazionale, ha così definito le tabelle di codifica cosiddette ISO 8859, con 14 varianti, ognuna per una diversa lingua. Per esempio la tabella ISO 8859-1, detta Latin-1, è quella che siamo più spesso abituati ad usare per le pagine web, perché rappresenta le accentate più comuni, quelle in uso in Italia, Francia, Spagna e altri paesi europei.  Altre tabelle estese sono usate per codificare i caratteri di Paesi ed altri alfabeti (per esempio la ISO 8859-5 codifica i caratteri cirillici, la ISO 8859-6 quelli della lingua araba e così via).

La soluzione che usa molte tabelle presenta molte limitazioni. Può andar bene se in un documento usiamo solo caratteri provenienti da un solo alfabeto, codificato da una sola tabella estesa. Ma se dobbiamo mescolare caratteri di alfabeti diversi, questo metodo non funziona più.

Per di più i produttori di computer hanno sempre usato versioni leggermente modificate delle tabelle standard, chiamate in modi diversi: per esempio, Microsoft utilizza per i testi di default la tabella Windows-1252 (detta anche ANSI), che è una variante della ISO 8859-1).  

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it