Codice ASCII: cos’è, come funziona e a cosa serve oggi

GratisSenza registrazioneTabella interattiva
Risposta rapida

Il codice ASCII è uno standard di codifica dei caratteri pubblicato negli Stati Uniti nel 1963 che assegna un numero da 0 a 127 a lettere inglesi, cifre, punteggiatura e comandi di controllo. Usa 7 bit, quindi 128 combinazioni: 95 caratteri stampabili e 33 di controllo. Le sue prime 128 posizioni sono identiche in Unicode.

Il codice ASCII è la tabella che fa corrispondere un numero a ogni carattere di base: la “A” maiuscola è 65, la “a” minuscola è 97, lo spazio è 32, la cifra “0” è 48. Il nome è l’acronimo di American Standard Code for Information Interchange. Nella tabella interattiva qui sopra puoi cercare qualunque carattere e vederne il valore in decimale, esadecimale, ottale e binario.

Breve storia del codice ASCII

Lo standard nasce all’inizio degli anni Sessanta per mettere d’accordo telescriventi e computer di produttori diversi. La prima edizione viene pubblicata nel 1963 con la sigla ASA X3.4-1963 dall’American Standards Association, l’ente che in seguito diventerà l’ANSI. Per questo si trova spesso scritto “ANSI X3.4”, ma nel 1963 il nome dell’ente era ancora ASA.

Seguono diverse revisioni: una importante nel 1967 (che aggiunge, tra l’altro, le parentesi graffe e la barra verticale), poi nel 1968 e infine nel 1986, con la versione ANSI X3.4-1986. Alcune versioni iniziali usavano simboli diversi per certi segni: al posto dell’accento circonflesso ^ c’era una freccia in su, al posto del trattino basso _ una freccia a sinistra (la voce ASCII di Wikipedia ricostruisce bene queste tappe).

Come è fatto il codice ASCII: 7 bit e 128 caratteri

ASCII usa 7 bit per carattere, quindi può rappresentare 2 elevato alla settima, cioè 128 valori, da 0 a 127. Si dividono così:

IntervalloContenutoQuanti
0–31 e 127Caratteri di controllo (a capo, tabulazione, escape, cancella)33
32Spazio1
33–47, 58–64, 91–96, 123–126Punteggiatura e simboli32
48–57Cifre 0–910
65–90 e 97–122Lettere maiuscole e minuscole52

In totale 95 caratteri stampabili (spazio compreso) e 33 di controllo. I caratteri di controllo non disegnano nulla: servono a dare comandi, come andare a capo. Li trovi spiegati uno per uno nella pagina sui caratteri di controllo.

Un dettaglio elegante: maiuscole e minuscole distano esattamente 32. “A” è 65 (1000001 in binario), “a” è 97 (1100001). Cambia un solo bit, e i primi programmi sfruttavano proprio questo per convertire le lettere in modo velocissimo.

Il codice ASCII e le lettere accentate

ASCII è nato per l’inglese, quindi non contiene “à”, “è”, “é”, “ì”, “ò”, “ù”. Per scriverle sono nate le cosiddette estensioni a 8 bit, che usano le posizioni da 128 a 255: la code page 437 dei primi PC IBM, la 850 per l’Europa occidentale, lo standard ISO 8859-1 (Latin-1) e Windows-1252. Spesso si parla di “ASCII esteso”, ma è un nome improprio: non esiste un unico ASCII esteso, ne esistono molti diversi. Li confrontiamo nella tabella ASCII completa.

Se un programma o un sito ti chiede di usare “solo caratteri ASCII”, significa: niente lettere accentate, niente simboli come € e niente emoji. Lettere inglesi, cifre e punteggiatura di base sono sempre sicuri.

I codici Alt su Windows

Su Windows puoi inserire un carattere tenendo premuto Alt e digitando il suo numero sul tastierino numerico (non con i numeri sopra le lettere). Qualche esempio utile con la tastiera italiana:

CarattereCodice AltNota
@Alt + 64valore ASCII
~Alt + 126valore ASCII, assente sulla tastiera italiana
`Alt + 96accento grave, assente sulla tastiera italiana
{ }Alt + 123 / 125valori ASCII
ÈAlt + 212code page 850
€Alt + 0128con lo zero iniziale: Windows-1252

Lo zero iniziale cambia tabella. Senza zero Windows usa la vecchia code page OEM (in Italia di solito la 850); con lo zero usa Windows-1252. Per i valori da 32 a 126 il risultato è lo stesso, perché tutte queste tabelle condividono la parte ASCII. Per l’Alt più cercato, quello che produce uno spazio “vuoto”, leggi la guida su Alt 255.

ASCII e Unicode

Quando è nato Unicode, i suoi creatori hanno scelto di mantenere ASCII così com’era: le posizioni da U+0000 a U+007F coincidono esattamente con i 128 caratteri ASCII. Anche la codifica UTF-8 è compatibile: un testo che contiene solo caratteri ASCII ha esattamente gli stessi byte in ASCII e in UTF-8. È uno dei motivi per cui UTF-8 si è diffuso così rapidamente.

In pratica ASCII oggi non è un sistema separato, ma il primo pezzo di Unicode. Lo incontri ancora ovunque: nei nomi di dominio, nei protocolli di rete, nei codici sorgente, nelle password “solo caratteri standard” e nei nomi utente di molti servizi, come quello di Discord.

A cosa fare attenzione

  • Chiamare “ASCII” qualunque carattere: le lettere accentate e il simbolo € non fanno parte di ASCII.
  • Usare i numeri sopra le lettere per i codici Alt: serve il tastierino numerico, o la funzione apposita sui portatili.
  • Dimenticare lo zero iniziale: Alt + 128 e Alt + 0128 danno caratteri diversi.
  • Parlare di “ASCII esteso” come di uno standard unico: esistono molte tabelle a 8 bit diverse.
  • Confondere il carattere “0” con il valore 0: la cifra zero è 48, il valore 0 è il carattere di controllo NUL.

Domande frequenti

Che cos’è il codice ASCII?

È uno standard del 1963 che assegna un numero da 0 a 127 a lettere inglesi, cifre, punteggiatura e caratteri di controllo, usando 7 bit.

Quanti caratteri ha l’ASCII?

128 in tutto: 95 stampabili, spazio compreso, e 33 caratteri di controllo.

Che differenza c’è tra ASCII e Unicode?

ASCII ha 128 caratteri; Unicode ne ha oltre 172.000 e include tutte le scritture. I primi 128 punti di codice di Unicode coincidono con ASCII.

Come si scrive un carattere con il codice ASCII?

Su Windows tieni premuto Alt e digita il numero sul tastierino numerico, per esempio Alt + 64 per la chiocciola.

Le lettere accentate sono nel codice ASCII?

No. Lettere come à, è, é si trovano nelle estensioni a 8 bit, come Latin-1 e Windows-1252, e naturalmente in Unicode.

Fonti

Leggi anche

Articoli simili