Scopri le migliori offerte sul canale Telegram ufficiale. Guarda su Telegram

Codice ASCII: come funziona

di

Quando scrivi dei testi, ti capita di aver bisogno di digitare dei caratteri particolari, magari non presenti direttamente sulla tua tastiera, e non sai come fare. Dopo alcune ricerche in Rete, hai scoperto uno strumento di decodifica dei caratteri denominato codice ASCII, che permette di inserire vari simboli nei testi tramite scorciatoie da tastiera o copia-e-incolla, e ora vorresti saperne di più. Le cose stanno in questo modo, dico bene? Allora sappi che sarò lieto di darti una mano in tal senso.

Innanzitutto, ti tranquillizzo: sfruttare al massimo gli strumenti di codifica di caratteri e simboli speciali è davvero un gioco da ragazzi, e tra poco te lo dimostrerò. In questo tutorial, provvederò infatti a spiegarti il codice ASCII come funziona soffermandomi brevemente su cos’è e come si usa concretamente, sia che tu debba ricorrervi su PC, sia che tu voglia usarlo su smartphone o tablet.

Ti dico, inoltre, che parlando dal codice ASCII, si aprirà letteralmente un mondo di informazioni che spazierà da altri sistemi di codifica più aggiornati, come l’Unicode, a quella che si è affermata negli ultimi anni come una vera e propria forma d’arte digitale, ovvero l’ASCII Art. Insomma: grazie a dei semplici trucchetti, nessun carattere o simbolo ti darà più grattacapi! Suvvia, non aspettare oltre! Prenditi qualche minuto per la lettura di questa guida e, in men che non si dica, saprai domare ogni codice e magari scoprire come stupire amici e conoscenti creando illustrazioni grafiche in ASCII. Buona lettura e buon divertimento!

Indice

Informazioni preliminari

Prima di spiegarti quali sono i campi di applicazione dei codici ASCII, lascia che ti dia qualche informazione teorica in più in merito all’argomento.

Codice ASCII: cos’è

Codice ASCII: come funziona

Per iniziare, vediamo insieme cosa è la codifica ASCII. Acronimo di American Standard Code for Information Exchange, la codifica ASCII denota un sistema di traduzione e interpretazione dei caratteri utilizzato dai dispositivi elettronici.

Sviluppata a partire dal codice telegrafico, un’implementazione iniziale della codifica è stata utilizzata come codice telescrivente a cavallo tra la fine degli anni ’50 e l’inizio degli anni ’60; il lavoro di standardizzazione, poi, è iniziato nel 1961, mentre la prima edizione della codifica ASCII standard è stata pubblicata nel 1963.

L’implementazione standard della codifica ASCII è stata poi rivista nel 1967 e ha ricevuto poi diversi aggiornamenti nel corso del tempo, fino al 1986 – anno dell’ultimo update.

La specifica ASCII standard è basata su codici lunghi 7 bit, in grado di codificare un numero pari a 128 caratteri (27); in seguito, sono state proposte diverse specifiche lunghe invece 8 bit, al fine di poter codificare il doppio dei caratteri (28 = 256): US-ASCII, accreditata come standard dall’ISO nel 1961; Extended ASCII o High ASCII promossa da IBM, e così via.

Per risolvere i potenziali problemi derivanti dalla localizzazione dei caratteri espressi negli elaboratori informatici, oltre che alla quantità di caratteri rappresentabili, l’uso della codifica ASCII è stato poi rivisto in favore del sistema di codifica Unicode, che trova la sua massima espressione nello standard UTF-8: di questo, però, parleremo più avanti in questa guida.

Codice ASCII: a cosa serve

Codice ASCII: come funziona

Alla luce di quanto detto finora, la domanda sorge spontanea: a cosa serve, di fatto, la codifica ASCII? La risposta a tale quesito è semplice, ma non sempre intuibile nell’immediato: ASCII fa da tramite tra ciò che l’essere umano digita con la tastiera, e ciò che il sistema operativo a bordo dell’elaboratore riesce a “comprendere”.

In altre parole, la codifica ASCII è quel componente che permette all’elaboratore di tradurre le lettere digitate sulla tastiera in codici comprensibili dal sistema operativo, e di effettuare il medesimo passaggio tra ciò che il sistema operativo produce e ciò che si vede sullo schermo. In sostanza, il codice ASCII altro non è che una sequenza numerica ben compresa dal sistema operativo, atta a identificare uno specifico carattere inserito o letto dall’operatore umano.

Nella sua versione standard, come già detto, la codifica ASCII è in grado di codificare un numero pari a 128 caratteri, grandi ciascuno un bit, in maniera indipendente dal sistema operativo utilizzato.

Per la precisione, i primi 33 caratteri codificati (dal codice 0 a quello 32) identificano i caratteri di controllo utilizzati dal sistema operativo ma invisibili all’utente: carattere nullo (0), inizio del testo (2), fine del testo (3), indietro (8), a capo (13), spazio (32) e così via.

Dal codice 33 al codice 47, poi, vi è una parte dei simboli di punteggiatura codificabili: (33), ” (34), (35) e così via; i codici dal 48 al 57 indicano poi le cifre in ordine crescente, mentre dal 58 al 64 vi sono altri caratteri di punteggiatura; le lettere maiuscole e minuscole, poi, sono espresse rispettivamente con i codici da 65 a 90 e dal 97 al 122.

I restanti codici individuano altri caratteri speciali e simboli di punteggiatura, fatta eccezione per l’ultimo codice, il 127, che corrisponde al carattere/funzione Cancella (Del).

Chiaramente, per quanto concerne il sistema operativo, i codici ASCII per i caratteri sono espressi e interpretati in binario su 7 bit: per esempio, il codice decimale 1 corrisponde a 0000001, il codice decimale 33 corrisponde a 0100001, e così via.

Piccola curiosità: la codifica ASCII standard non include alcun tipo di lettera accentata (ad es. é o è) o di segno grafico localizzato (ad es. la cediglia, ç); tali simboli sarebbero poi introdotti nelle codifiche ASCII estese e in seguito, universalmente, con lo standard Unicode.

Codice ASCII: come funziona

Fatte tutte le doverose precisazioni del caso, è arrivato il momento di spiegarti, nel dettaglio, quello che è il funzionamento della codifica ASCII.

Codice ASCII: come scrivere caratteri

Codice ASCII: come funziona

Nella maggior parte dei casi, utilizzare la codifica ASCII è tanto semplice quanto… scrivere con la tastiera! Infatti, basta digitare uno dei caratteri disponibili sulla tastiera fisica o virtuale del dispositivo per “inviare” la rispettiva codifica al sistema operativo, grazie ai driver di periferica della tastiera; quest’ultimo, poi, invierà il codice ricevuto al driver di periferica dello schermo, il quale si occuperà di riprodurlo graficamente sul display.

Se poi hai un computer o una tastiera munita di tastierino numerico, puoi usare quest’ultimo per riprodurre i caratteri relativi alla codifica ASCII supportata dal dispositivo (inclusi quelli non presenti sulla tastiera).

All’atto pratico, tutto ciò che devi fare è schiacciare il tasto Alt sulla tastiera e, mentre lo tieni premuto, digitare il codice ASCII decimale del carattere di tuo interesse mediante il tastierino numerico, che deve chiaramente risultare attivato.

Per esempio, premendo la combinazione di tasti Alt+40 dovresti veder comparire sullo schermo il carattere (, mentre la combinazione Alt+126 dovrebbe far comparire il carattere ~; ancora, i simboli « e » corrispondono ai codici 174 e 175, mentre i simboli ® e © sono associati ai codici 169 e 184

Questo discorso vale, come puoi facilmente immaginare, sia per la codifica ASCII a 7 bit che per le codifiche ASCII estese a 8 bit; per conoscere i codici decimali da usare in abbinata con il tasto Alt, prova a cercare su Google la tabella di codifica di tuo interesse (ad es. ASCII table 7 bit oppure extended ASCII table): la sequenza da te cercata è quasi sempre indicata in corrispondenza della colonna DEC/Dec.

Se stai leggendo questa guida perché hai bisogno di digitare caratteri non presenti di default sulla tastiera da te in uso, ti sarà comodo sapere che puoi riuscirci sfruttando i pannelli di sistema di Windows e macOS: ti basta premere le combinazioni di tasti Win+. (punto) su Windows oppure cmd+ctrl+spazio su macOS, per visualizzare, rispettivamente, il pannello dei simboli e il visore caratteri di sistema.

Codice ASCII: come funziona

Una volta lì, ti basta aprire la scheda Simboli, individuare il simbolo di tuo interesse tra quelli presenti e cliccarci sopra, per digitarlo. Se hai difficoltà, prendi visione della guida in cui ti spiego, nel dettaglio, come digitare caratteri speciali.

Su alcuni sistemi operativi, poi, hai la possibilità di inserire caratteri ASCII premendo alcuni specifici tasti della tastiera insieme al tasto AltGr, alla combinazione di tasti AltGr+Shift, alle combinazioni di tasti Ctrl+AltCtrl+Alt+Shift o, sui Mac, al tasto option. Il risultato ottenuto varia, in base alla codifica e al sistema operativo in uso.

Per visualizzare, invece, i simboli speciali nelle tastiere virtuali di smartphone e tablet, ti basta effettuare un tap prolungato su una specifica lettera, per ottenere i caratteri accentati/linguistici correlati, ma anche su cifre e caratteri di punteggiatura, per ottenere simboli alternativi (operatori matematici, punteggiatura localizzata e così via).

In alternativa, puoi altresì premere il pulsante dedicato all’inserimento delle cifre (ad es. 123) e toccare poi il pulsante dedicato ai simboli (ad es. #+=), per ottenere i caratteri disponibili.

Infine, se sei alla ricerca di tastiere che includano ancor più simboli rispetto a quelli disponibili di default, puoi modificare la tastiera di sistema e installarne una alternativa, possibilità ad oggi prevista sia da Android che da iPhone e iPad.

Fai attenzione, però, in quanto le tastiere di terze parti potrebbero essere pericolose in termini di privacy, e “registrare” tutto quanto sei solito digitare attraverso il tuo device: personalmente, io te ne sconsiglio l’uso, a meno che l’app corrispondente non provenga da sviluppatori di comprovata serietà.

Per completezza d’informazione, mi sento comunque in dovere di precisare un aspetto fondamentale su quanto spiegato finora: fatta eccezione per l’inserimento manuale dei codici ASCII, tutti gli altri metodi segnalati (ad es. pannello simboli, tastiere virtuali e così via) si basano sulla più recente codifica Unicode.

Codice ASCII: cosa è l’ASCII art

Codice ASCII: come funziona

Altro aspetto strettamente collegato alla codifica ASCII è quello che riguarda l’ASCII Art. Di fatto, questo termine identifica una tecnica di design grafico, che utilizza la codifica dei caratteri degli elaboratori per rappresentare delle illustrazioni di vario tipo.

All’atto pratico, i caratteri ASCII vengono uniti in righe e colonne, in maniera precisa e studiata, affinché la rispettiva visione d’insieme possa dare l’idea di una raffigurazione grafica.

In un certo senso, l’ASCII art gioca sulla vista umana e su come il nostro cervello “traduce” tutto ciò che è grafico: guardando un disegno in ASCII art fatto bene, si ha l’illusione che i caratteri rappresentati disegnino, di fatto, una vera e propria immagine.

L’ASCII art nasce praticamente insieme a quella che è la codifica ASCII, nei primissimi anni ’60, con il preciso obiettivo di sopperire all’assenza di supporto per le immagini da parte delle stampanti dell’epoca; ad oggi, invece, essa rappresenta una forma d’arte a tutti gli aspetti, tant’è che esistono tantissimi software, servizi online e applicazioni, in grado di convertire immagini comuni in disegni ASCII.

Tra gli esempi più calzanti di software che creano ASCII Art, c’è l’applicazione AsciiCam per dispositivi Android (scaricabile anche da market alternativi al Play Store), oppure l’app ASCII Camera Art Filters,  disponibile per iPhone e iPad. Applicazioni di questo tipo consentono, con i dovuti permessi, di trasformare in illustrazioni con caratteri ASCII le immagini catturate dalla fotocamera del proprio device.

Vi sono poi siti come ASCIIart.eu, che mettono a disposizione numerose composizioni creative realizzate dagli utenti di tutto il mondo, e portali come Text to ASCII Generator o Image to ASCII, i quali permettono di creare lavori in ASCII art partendo, rispettivamente, dal testo scritto o da un’immagine già esistente.

Se poi la tua vena creativa dovesse farsi sentire, nulla ti vieterebbe di creare grafiche in ASCII art utilizzando qualsiasi editor di testo, dal più semplice Blocco Note a quelli più complessi come Word.

Creare illustrazioni di questo tipo non è affatto impossibile ma, per ottenere il risultato desiderato, è necessario prestare attenzione ai simboli scelti e alla distanza tra gli stessi; per ottenere un risultato quanto più universale possibile, il mio consiglio è quello di utilizzare caratteri totalmente privi di formattazione.

Una cosa è certa: per ottenere lavori quantomeno accettabili, devi fare tanta pratica e, soprattutto, avere molta pazienza. Tuttavia, sono certo che, con un minimo d’impegno, riuscirai a cavartela senza alcun problema!

Il futuro di ASCII: lo schema Unicode

Codice ASCII: come funziona

Se sei arrivato a leggere fin qui, vuol dire che hai ben compreso quelli che sono i campi di utilizzo della codifica ASCII, oltre che le caratteristiche della stessa. Tuttavia, con un po’ di ragionamento, è possibile trarre una conclusione fondamentale: per quel che è la situazione odierna dell’elaborazione informatica, avere la possibilità di distribuire universalmente un numero massimo di 256 caratteri è decisamente un limite.

Escludendo tutti quei dispositivi per i quali la codifica ASCII può risultare più che sufficiente, in quanto progettati per sequenze di input/output ben definite (ad es. gli schermi di stampanti, device per la domotica, NAS, apparecchi DVR e così via), 256 caratteri sono decisamente pochi per riprodurre e distribuire emoji, numeri, cifre, simboli e altri simboli di vario tipo, a prescindere dalla lingua e dal dispositivo sui quali vanno riprodotti.

Di fatto, è esattamente il motivo per cui nasce lo schema Unicode: senza scendere in tecnicismi, Unicode consente di tradurre molti più simboli di natura diversa, inclusi quelli specifici per una data lingua, con l’ausilio di standard differenti, adattabili alla zona geografica in cui ci si trova.

Il segreto delle codifiche Unicode, al di là del numero di byte impiegati per esprimere ciascun carattere (16 oppure 8), sta nel modo di rappresentarli: gli schemi Unicode, infatti, non indicano il glifo vero e proprio, bensì elaborano un codice univoco per l’astrazione dei caratteri, lasciando poi al software il compito di formattarli visivamente: di fatto, con Unicode sono stati introdotti i concetti di font e formattazione del testo.

Ad oggi, Unicode comprende quasi tutti i sistemi di scrittura utilizzati al momento (ad es. alfabeto latino, alfabeto arabo, alfabeto braille, alfabeto cirillico e così via), oltre che molti simboli matematici, musicali e gli ormai utilizzatissimi emoji.

Tra le codifiche Unicode più utilizzate figura UTF-8, adottata universalmente per codificare l’intero set di caratteri Unicode. Le localizzazioni della codifica UTF-8 (ad es. IT_UTF-8) non cambiano lo schema in sé, ma il set di caratteri direttamente accessibile tramite sistemi di input come la tastiera: associare i per impostazione predefinita i caratteri giapponesi alla tastiera, su un sistema operativo localizzato in tedesco, non avrebbe alcun senso!

Salvatore Aranzulla

Autore

Salvatore Aranzulla

Salvatore Aranzulla è il blogger e divulgatore informatico più letto in Italia. Noto per aver scoperto delle vulnerabilità nei siti di Google e Microsoft. Collabora con riviste di informatica e ha curato la rubrica tecnologica del quotidiano Il Messaggero. È il fondatore di Aranzulla.it, uno dei trenta siti più visitati d'Italia, nel quale risponde con semplicità a migliaia di dubbi di tipo informatico. Ha pubblicato per Mondadori e Mondadori Informatica.