Il codice ASCII fornisce una tabella di corrispondenza che associa un numero a ogni elemento di un insieme di 128 caratteri (comprendente i principali caratteri dell'alfabeto latino, i principali segni di interpunzione e un certo numero di caratteri speciali). Nella rappresentazione decimale, i numeri associati ai caratteri sono compresi fra 0 e 127, nella rappresentazione binaria fra 0 e 1111111. La tabella così ottenuta permette di rappresentare ognuno dei caratteri codificati attraverso 7 bit di informazione, che conterranno la cifra binaria associata al carattere corrispondente. Ad esempio, il numero decimale associato alla lettera maiuscola 'A' è 65, e il corrispondente numero binario è 100000.
La tabella 2 riporta le associazioni fra numeri decimali da una parte, e caratteri alfanumerici e segni di interpunzione dall'altra, nel codice ASCII. I primi 32 numeri sono associati, anziché a caratteri alfanumerici, ai cosiddetti 'caratteri di controllo' (control characters), corrispondenti nella maggior parte dei casi a istruzioni quali 'a capo', 'ritorno indietro' e simili (il codice ASCII era stato sviluppato originariamente per l'uso delle macchine telescriventi, e alcuni dei 32 caratteri di controllo risentono ancora di questa eredità).
Sono nate nel tempo diverse estensioni al codice ASCII 'stretto' o 'a 7 bit'; molte fra esse sono basate su un codice ASCII 'esteso' o 'a 8 bit'. Mentre con 7 bit avevamo a disposizione, come abbiamo visto, la possibilità di rappresentare 128 caratteri, con 8 bit le possibilità a nostra disposizione raddoppiano, e potremo rappresentare 256 caratteri. Spesso, queste estensioni codificano insiemi nazionali di caratteri (ad esempio, l'estensione italiana dell'ASCII conterrà le vocali accentate, presenti in italiano ma assenti dall'ASCII stretto). La più importante fra le estensioni dell'ASCII è quella denominata 'ISO Latin 1', che codifica fra l'altro una serie di caratteri speciali presenti nei principali alfabeti europei (italiano incluso).
Pur avendo a disposizione 256 caratteri, il codice ISO Latin 1 non può essere veramente 'universale'; pensate infatti all'immensa varietà di caratteri utilizzati dalle lingue basate su alfabeti diversi da quello latino: dal greco al cirillico, dal giapponese al mandarino… Proprio per questo motivo, è stato avviato un progetto estremamente ambizioso: definire una tavola di codifica basata non su 7 o su 8 bit, ma su ben 16 bit, che consentono oltre 65.000 (per l'esattezza, 65.536) diverse combinazioni di '0' e '1', e permettono dunque di codificare oltre 65.000 caratteri. Questa tavola si chiama Unicode, comprende finora (versione 2.0) 38.885 caratteri, e rappresenta uno sforzo immenso di sistematizzazione non solo dal punto di vista informatico, ma anche da quello linguistico.
Se volete saperne di più sul codice ASCII, eccovi due buoni punti di partenza in rete:
Una descrizione del codice ISO Latin 1 è all'indirizzo
Per quanto riguarda Unicode, il sito ufficiale del progetto è
e un altro indirizzo utile è