Ci capita spesso oggi, utilizzando il computer, di imbatterci nella tabella dei caratteri Ascii. Ma cosa sono questi fantomatici caratteri di cui la maggior parte non sono presenti sulle tastiere dei nostri computer?
Facciamo un po’ di storia per capirlo.
Storia
I caratteri Ascii (che si pronuncia “aski”) furono inventati molti anni con l’avvento del telegrafo e successivamente del telefono poiché c’era il problema di far percorrere le informazioni sul filo di queste, all’epoca, innovative tecnologie.
Si dovette quindi affrontare il problema di tradurre i simboli alfanumerici in impulsi elettrici adatti a percorrere il filo.
La soluzione al problema fu fornita da un comitato americano che propose un codice in grado di associare un numero ad ogni simbolo usato nella scrittura.
Questo importante strumento si chiama Codice ASCII; il suo nome è un acronimo e sta per American Standard Code for Information Interchange.
Il codice ASHII
Il codice Ascii è un codice a 7 bit, per cui è in grado di codificare 128 caratteri (27=128), detti Ascii Standard.
Sicuramente il lettore più attento si sarà subito posto la domanda: “perché 7?, non è una potenza di 2, sarebbe stato più logico 8!“. In effetti questa anomalia è stata subito colta dai nostri antenati pensatori, anche sulla base del fatto che i processori, grandi consumatori di dati, hanno sempre avuto canali di dato di dimensioni multiple di 8 bit.
Questa considerazione ha dato i natali al Codice Ascii Esteso: al codice nativo è stato aggiunto un bit, dando vita ad un codice a 8 bit, in grado di codificare 256 caratteri (28=256):
- se questo bit è a 0 (0xxx xxxx) i caratteri codificati sono quelli originari (Ascii Standard)
- se è a 1 (1xxx xxxx) i caratteri esprimono combinazioni di pixel del tutto originali, come elementi di cornici, lettere greche o nazionali, simboli matematici, e così via; in altri termini sono definiti caratteri semigrafici e, comunque caratteri Ascii Estesi.
I caratteri Ascii Standard
I caratteri Ascii Standard sono 128; non tutti sono però associati a caratteri alfanumerici.
I primi 32 caratteri infatti corrispondono ad azioni di controllo, tipiche della gestione delle telescriventi, per le quali sono stati pensati, molti anni or sono. Di seguito riportiamo la tabella dei primi 32 caratteri
Primi 32 codici Ascii Standard (detti di Controllo)
Dec | Hex | Sigla | Simbolo | Descrizione |
---|---|---|---|---|
0 | 00H | NULL | Nullo | |
1 | 01H | SOH | ☺ | Inizio Intestazione |
2 | 02H | STX | ☻ | Inizio Testo |
3 | 03H | ETX | ♥ | Fine Testo |
4 | 04H | EOT | ♦ | Fine Trasmissione |
5 | 05H | ENQ | ♣ | Richiesta informazioni |
6 | 06H | ACK | ♠ | Riconoscimento |
7 | 07H | BEL | • | Campanello |
8 | 08H | BS | ◘ | Backspace |
9 | 09H | HT | ○ | Tabulato orizzontale |
10 | 0AH | LF | ◙ | Avanzamento linea |
11 | 0BH | VT | ♂ | Tabulato verticale |
12 | 0CH | FF | ♀ | Avanzamento Modulo |
13 | 0DH | CR | ♪ | (Carrello) A Capo |
14 | 0EH | SO | ♫ | Shift Out |
15 | 0FH | SI | ☼ | Shift In |
16 | 10H | DLE | ► | Data Link Escape |
17 | 11H | DC1 | ◄ | Controllo Dispositivo 1 |
18 | 12H | DC2 | ↕ | Controllo Dispositivo 2 |
19 | 13H | DC3 | ‼ | Controllo Dispositivo 3 |
20 | 14H | DC4 | ¶ | Controllo Dispositivo 4 |
21 | 15H | NAK | § | Riconoscimento Negativo |
22 | 16H | SYN | ▬ | Sincronismo Inattivo |
23 | 17H | ETB | ↨ | Fine Trasferimento Blocco |
24 | 18H | CAN | ↑ | Cancellazione |
25 | 19H | EM | ↓ | Fine Supporto |
26 | 1AH | SUB | → | End Of File |
27 | 1BH | ESC | ← | Escape |
28 | 1CH | FS | ∟ | Separatore File |
29 | 1DH | GS | ↔ | Separatore di Gruppo |
30 | 1EH | RS | ▲ | Separatore di Record |
31 | 1FH | US | ▼ | Separatore di Unità |
Binario | Dec | Hex | Sigla | Descrizione |
---|---|---|---|---|
000 0000 | 0 | 0 | NUL | Null character |
000 0001 | 1 | 1 | SOH | Start of Header |
000 0010 | 2 | 2 | STX | Start of Text |
000 0011 | 3 | 3 | ETX | End of Text |
000 0100 | 4 | 4 | EOT | End of Transmission |
000 0101 | 5 | 5 | ENQ | Enquiry |
000 0110 | 6 | 6 | ACK | Acknowledgment |
000 0111 | 7 | 7 | BEL | Bell |
000 1000 | 8 | 8 | BS | Backspace |
000 1001 | 9 | 9 | HT | Horizontal Tab |
000 1010 | 10 | 0A | LF | Line feed |
000 1011 | 11 | 0B | VT | Vertical Tab |
000 1100 | 12 | 0C | FF | Form feed |
000 1101 | 13 | 0D | CR | Carriage return |
000 1110 | 14 | 0E | SO | Shift Out |
000 1111 | 15 | 0F | SI | Shift In |
001 0000 | 16 | 10 | DLE | Data Link Escape |
001 0001 | 17 | 11 | DC1 | Device Control 1 (oft. XON) |
001 0010 | 18 | 12 | DC2 | Device Control 2 |
001 0011 | 19 | 13 | DC3 | Device Control 3 (oft. XOFF) |
001 0100 | 20 | 14 | DC4 | Device Control 4 |
001 0101 | 21 | 15 | NAK | Negative Acknowledgement |
001 0110 | 22 | 16 | SYN | Synchronous Idle |
001 0111 | 23 | 17 | ETB | End of Trans. Block |
001 1000 | 24 | 18 | CAN | Cancel |
001 1001 | 25 | 19 | EM | End of Medium |
001 1010 | 26 | 1A | SUB | Substitute |
001 1011 | 27 | 1B | ESC | Escape |
001 1100 | 28 | 1C | FS | File Separator |
001 1101 | 29 | 1D | GS | Group Separator |
001 1110 | 30 | 1E | RS | Record Separator |
001 1111 | 31 | 1F | US | Unit Separator |
111 1111 | 127 | 7F | DEL | Delete |
La successiva tabella raccoglie invece il secondi set di 32 caratteri Ascii Standard, in decimale e esadecimale, con il corrispondente simbolo (carattere):
I caratteri Ascii Estesi
I 128 codici Ascii Estesi sono stati aggiunti agli Standard in un secondo tempo portando la parola del codice da 7 a 8 bit.
In pratica la semplice aggiunta di un bit ha raddoppiato il numero di caratteri del codice. In fatti con 7 bit è possibile codificare 27 = 128 parole diverse tra loro, mentre con 8 bit le parole possibili diventano 28 = 256.
Si può dunque facilmente verificare che tutti i codici Ascii Estesi hanno il bit7=1; la cosa è tanto più evidente analizzando il valore esadecimale di ciascuno di loro, proposto in blu nelle tabelle; per il carattere Ascii esteso Ç ha valore 80H = 1000 0000b (=128 decimale).
Con alcuni simboli appartenenti a questa parte del codice Ascii è facile costruire cornici di diversi tipi, ma anche immagini semigrafiche di un certo effetto.
Prima dell’avvento dei sistemi operativi grafici (come Windows) questa tecnica di implemento grafico era ampiamente utilizzata, sebbene risulti chiara a tutti la difficoltà di creare immagini in questo modo.
Naturalmente non esiste alcun tasto per simboli dei codici Ascii Estesi.
Di seguito la tabella dei caratteri ascii estesa:
Dimenticavo di dirvi che per inserire il carattere prescelto bisogna tenere premuto il tasto Alt e digitare il numero corrispondente, quindi rilasciare il tasto Alt.