Codice ASCII

Il codice morse è stato la prima codifica a permettere una comunicazione a lunga distanza. È stato 'Samuel F.B.Morse ad elaborarlo nel 1844. Questo codice è composto da punti e tratti (una specie di codifica binaria). Esso permise di effettuare delle comunicazioni molto più rapide rispetto a quello che permetteva di fare il sistema di posta utilizzato a quell'epoca negli USA: il Pony Express. L'interprete all'epoca era l'uomo, quindi bisognava avere una buona conoscenza del codice, ecc.

Numerosi codici furono poi inventati fra cui il codice d'Emile Baudot (detto fra l'altro codice Baudot, gli inglese lo chiamavano a loro volta Murray Code). Il 10 marzo 1876, il Dott. Graham Bell mise a punto il telefono, un'invenzione rivoluzionaria che permise di far circolare l'informazione vocale in linee metalliche. Per cronaca, la Camera dei rappresentanti ha deciso che l'invenzione del telefono va attribuita ad Antonio Meucci. Quest'ultimo aveva in effetti depositato una richiesta di brevetto nel 1871, ma non aveva potuto finanziarla fino al 1874.

Queste linee permisero lo sviluppo di telescrittori, delle apparecchiature di codifica e decodifica dei caratteri grazie al codice Baudot (i caratteri erano allora codificati a 5 bit e ce n'erano solamente 32). Negli anni 60, il codice ASCII (American Standard Code for Information Interchange) è adottato come standard. Esso permette la codifica dei caratteri su 8 bit, con 256 caratteri possibili.

Che cos'è il codice ASCII

La memoria del computer conserva tutti i dati sotto forma digitale. Non esistono metodi per immagazzinare direttamente i caratteri. Ogni carattere possiede quindi il suo equivalente in codice digitale: è il codice ASCII (American Standard Code for Information Interchange - tradotto «Codifica Americana Standard per lo Scambio d'Informazioni»). La codifica ASCII di base rappresentava i caratteri su 7 bit (cioè 128 caratteri possibili, da 0 a 127).

Le codifiche da 0 a 31 non sono dei caratteri. Si chiamano caratteri di controllo dato che permettono di fare delle azioni come: Ritorno a capo (CR); Bip sonoro (BEL); codifiche da 65 a 90 rappresentano le maiuscole; codifiche da 97 a 122 rappresentano le minuscole (basta modificare il sesto bit per passare dalle maiuscole alle minuscole, aggiungendo 32 al codice ASCII sulla base decimale).

Tabella dei caratteri ASCII

carattere codice ASCII codice esadecimale
NUL (Nullo) 0 00
SOH (Start of heading) 1 01
STX (Start of text) 2 02
ETX (End of text) 3 03
EOT (End of transmission) 4 04
ENQ (Enquiry) 5 05
ACK (Acknowledge) 6 06
BEL (Bell) 7 07
BS (Backspace) 8 08
TAB (Horizontal tabulation) 9 09
LF (Line Feed) 10 0A
VT (Vertical tabulation) 11 0B
FF (Form feed) 12 0C
CR (Carriage return) 13 0D
SO (Shift out) 14 0E
SI (Shift in) 15 0F
DLE (Data link escape) 16 10
DC1 (Device control 1) 17 11
DC2 (Device control 2) 18 12
DC3 (Device control 3) 19 13
DC4 (Device control 4) 20 14
NAK (Negative acknowledgement) 21 15
SYN (Synchronous idle) 22 16
ETB (End of transmission block) 23 17
CAN (Cancel) 24 18
EM (End of medium) 25 19
SUB (Substitute) 26 1A
ESC (Escape) 27 1B
FS (File separator) 28 1C
GS (Group separator) 29 1D
RS (Record separator) 30 1E
US (Unit separator) 31 1F
SP (Space) 32 20
! 33 21
" 34 22
# 35 23
$ 36 24
% 37 25
& 38 26
' 39 27
( 40 28
) 41 29
* 42 2A
+ 43 2B
, 44 2C
- 45 2D
. 46 2E
/ 47 2F
0 48 30
1 49 31
2 50 32
3 51 33
4 52 34
5 53 35
6 54 36
7 55 37
8 56 38
9 57 39
: 58 3A
; 59 3B
< 60 3C
= 61 3D
> 62 3E
? 63 3F
@ 64 40
A 65 41
B 66 42
C 67 43
D 68 44
E 69 45
F 70 46
G 71 47
H 72 48
I 73 49
J 74 4A
K 75 4B
L 76 4C
M 77 4D
N 78 4E
O 79 4F
P 80 50
Q 81 51
R 82 52
S 83 53
T 84 54
U 85 55
V 86 56
W 87 57
X 88 58
Y 89 59
Z 90 5A
[ 91 5B
\ 92 5C
] 93 5D
^ 94 5E
_ 95 5F
' 96 60
a 97 61
b 98 62
c 99 63
d 100 64
e 101 65
f 102 66
g 103 67
h 104 68
i 105 69
j 106 6A
k 107 6B
l 108 6C
m 109 6D
n 110 6E
o 111 6F
p 112 70
q 113 71
r 114 72
s 115 73
t 116 74
u 117 75
v 118 76
w 119 77
x 120 78
y 121 79
z 122 7A
{ 123 7B
124 7C
} 125 7D
~ 126 7E
Tasto di cancellazione 127 7F

Tabella dei caratteri ASCII esteso

Il codice ASCII è stato elaborato per la lingua inglese, non contiene quindi dei caratteri accentuati, né dei caratteri specifici ad una lingua. Per la codifica di questo tipo di carattere bisogna ricorrere ad un altro codice. Il codice ASCII è stato quindi esteso a 8 bit per poter codificare più caratteri (si parla quindi di codice ASCII esteso). Questo codice attribuisce i valori da 0 a 255 (il cui codice su 8 bit alle lettere maiuscole e minuscole, alle cifre, alla punteggiatura e agli altri simboli (caratteri accentuati in caso di codice iso-latin 1).

Il codice ASCII esteso non è unico e dipende fortemente dalla piattaforma utilizzata.

I due set di caratteri ASCII esteso usati più frequentemente sono:

Il codice ASCII esteso OEM, quello che equipara i primi terminali di tipo IMB PC:

codice ASCII esteso OEM
Il codice ASCII esteso ANSI, utilizzato dai sistemi operativi recenti:

codice ASCII esteso ANSI

Il codice EBCDIC

Il codice EBCDIC (Extended Binary-Coded Decimal Interchange Code), sviluppato da IBM, permette di codificare i caratteri ad 8 bit. Anche se largamente diffuso sui terminali IBM, non c'è stato il successo che invece ha riscontrato il codice ASCII.

Unicode

Il codice Unicode è un sistema di codifica dei caratteri a 16 bit elaborato nel 1991. Il sistema Unicode permette di rappresentare tutti i caratteri attraverso un codice a 16 bit, indipendentemente da qualsiasi sistema operativo o linguaggio di programmazione. Esso raggruppa la quasi totalità degli alfabeti esistenti (arabo, armeno, cirillico, greco, ebraico, latino, ecc.) ed è compatibile con il codice ASCII. L'insieme dei codici Unicode è disponibile sul sito ufficiale Unicode.

Foto: © Pixabay.

I nostri contenuti sono creati in collaborazione con esperti di high-tech, sotto la direzione di Jean-François Pillou, fondatore di CCM.net. CCM è un sito di high-tech leader a livello internazionale ed è disponibile in 11 lingue.
Potrebbe anche interessarti
Il documento intitolato « Codice ASCII » dal sito CCM (it.ccm.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.