Codice ASCII

La codifica delle informazioni

Il morse è stato la prima codifica a permettere una comunicazione a lunga distanza. E' stato 'Samuel F.B.Morse a metterlo a punto 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...

Numerosi codici furono poi inventati fra cui il codice d'Emile Baudot (detto fra l'altro code 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 bits 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 bits, 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 bits (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)
  • Le codifiche da 65 a 90 rappresentano le maiuscole
  • Le 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 (Tabulazione orizzontale) 9 09
LF (Line Feed, salto di linea) 10 0A
VT (Vertical tabulation, tabulazione verticale) 11 0B
FF (Form feed) 12 0C
CR (Carriage return, ritorno a capo) 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, fine del blocco di trasmissione) 23 17
CAN (Cancel, annullamento) 24 18
EM (End of medium, fine del medium) 25 19
SUB (Substitute, sostituto) 26 1A
ESC (Escape, carattere di uscita) 27 1B
FS (File separator, separatore di file) 28 1C
GS (Group separator, separatore di gruppo) 29 1D
RS (Record separator, separatore di registrazione) 30 1E
US (Unit separator, separatore di registrazione) 31 1F
SP (Space, spazio) 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 messo a punto per la lingua inglese, non contiene quindi dei caratteri accentati, ne dei caratteri specifici ad una lingua. Per codificare questo tipo di carattere bisogna ricorrere ad un altro codice. Il codice ASCII ha quindi esteso a 8 bits (un octet) 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 bits, ossia 1 octet) 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 giochi di caratteri ASCII esteso usati più frequentemente sono :

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

    ASCII étendu OEM - OEM Extended ASCII

  • Il codice ASCII esteso ANSI, utilizzato dai sistemi operativi recenti

    ASCII étendu ANSI - ANSI Extended ASCII

Il codice EBCDIC

Il codice EBCDIC (Extended Binary-Coded Decimal Interchange Code), sviluppato da IBM, permette di codificare i caratteri ad 8 bits. 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 bits messo a punto nel 1991. Il sistema Unicode permette di rappresentare tutti i caratteri attraverso un codice a 16 bits, indipendentemente da qualsiasi sistema operativo o linguaggio di programmazione.

Esso raggruppa infatti la quasi totalità degli alfabeti esistenti (arabo, armeno, cirillico, greco, ebraico, latino, …) ed è compatibile con il codice ASCII.

L'insieme dei codici Unicode è disponibile sul sito http://www.unicode.org.



Ultime modificazione ilvenerdì 6 febbraio 2009 alle 16:52:01


Questo documento intitolato «  » da Kioskea (it.kioskea.net) è reso disponibile sotto la licenza Creative Commons. È possibile copiare, modificare le copie di questa pagina, alle condizioni previste dalla licenza, come questa nota appare chiaramente.