1 LA CODIFICA DEI TESTI

1 LA CODIFICA DEI TESTI

La rivoluzione informatica

La società del XXI secolo sta assistendo a una grande rivoluzione tecnologica: la rivoluzione informatica.

Fino a poco tempo fa una macchina fotografica utilizzava una pellicola per imprimere le immagini e non era in grado di memorizzare, per esempio, le voci. La musica veniva registrata sulle musicassette su un nastro magnetico. La televisione e la telefonia utilizzavano antenne e reti fisicamente differenti. Le automobili e i frigoriferi non erano collegati a Internet.

Per gestire contesti differenti, erano necessarie tecnologie differenti. L’informatica ha rotto questo modello: oggi tutti i dati sono digitali, tutto è una sequenza di bit. La tecnologia per memorizzare, elaborare, gestire l’informazione è unica e tutto converge nelle  telecomunicazioni. L’esempio più eclatante di questa rivoluzione è lo smartphone, un computer tascabile in grado di elaborare digitalmente la voce, le immagini e le reti come fossero la stessa cosa.

Le tecnologie digitali sono migliori di quelle analogiche: la qualità del flusso di dati digitale resta inalterata nel tempo. Quando una musicassetta (analogica) veniva duplicata, la qualità iniziale dell’audio non veniva mantenuta nel tempo: la decima copia era di qualità decisamente inferiore. I CD, invece, non perdono qualità (informazione) quando vengono duplicati: ogni copia è identica all’originale.

Le tecnologie digitali consentono anche di comprimere i dati e quindi di occupare meno spazio nella memoria e impiegare un minor tempo di trasmissione ad altri dispositivi.

Nell’era della digitalizzazione globale, quindi, tutto diventa un flusso di bit. Sequenze di 0 e 1 indistinguibili fra loro rappresentano non solo i numeri, ma anche i caratteri che compongono le parole, i pixel che formano le immagini e i video, le onde acustiche che forniscono i suoni e, in generale, qualsiasi tipo di informazione digitale. Il computer interpreta le cifre del sistema binario in modi differenti, le elabora e restituisce il risultato di un calcolo matematico, un testo, dei colori, della musica ecc.

Lo sapevi che

Nei computer tradizionali l’informazione è contenuta nei bit, cioè nei transistor (“interruttori”) che possono contenere 0 o 1.

Nei computer quantistici l’informazione è contenuta nei qubit, cioè nello stato quantico degli elettroni, definito dal loro spin. Un qubit può valere contemporaneamente sia 0 sia 1.

La codifica e la trasmissione dei testi

La codifica dei caratteri avviene quando gli 0 e gli 1 vengono usati per rappresentare le lettere dell’alfabeto.

Dal codice Morse ai codici ASCII e UTF

Come fa, fisicamente, un’e-mail ad arrivare a destinazione? Come è possibile che dei caratteri alfabetici scritti su uno schermo possano essere trasmessi lungo una linea elettrica? Semplice, anche se non banale: nel filo non viaggiano i caratteri veri e propri, ma una loro rappresentazione. Ciascun carattere corrisponde a un codice che viaggia nel filo.

La storia della codifica dei caratteri iniziò nella prima metà dell’Ottocento, quando venne inventato il  codice Morse, anche se la necessità di comunicare a distanza era già stata sviluppata dalle popolazioni fin dall’antichità. I concetti da trasmettere venivano codificati e inviati utilizzando strumenti come suoni di corni o tamburi, segnali di fumo, specchi e bandiere. Per le lunghe distanze la codifica consisteva nello scrivere delle lettere che poi venivano recapitate tramite piccioni viaggiatori o servizi postali. La corrispondenza cartacea impiegava però giorni, settimane, o addirittura mesi per raggiungere la destinazione.

 >> pagina 83 
1840 – Codice Morse

I primi esperimenti di telegrafia (scienza che studia i metodi per riprodurre a distanza i documenti) culminano nell’invenzione del telegrafo elettrico.

Per poter trasmettere le singole lettere dell’alfabeto, l’inventore statunitense Samuel Morse (1791- 1872) sviluppò un sistema che prese il nome codice Morse.

L’alfabeto Morse impiega segnali elettrici corti e lunghi (punto e linea) intervallati da tre tipi di pause (corta, media e lunga) necessarie per poter distinguere le singole lettere, le parole e le frasi; quindi utilizza 5 segnali.


esempio

Le pause sono necessarie per poter capire, per esempio, se la trasmissione di due punti e una linea è una “U” o una “E” seguita da una “A”.



Nel codice Morse ogni carattere non è identificato da un numero fisso di segnali.

Dato che ogni lingua presenta una distribuzione statistica diversa delle lettere nelle parole e poiché Samuel Morse parlava la lingua inglese, il codice venne concepito per ottimizzare i tempi di trasmissione delle parole inglesi. Quindi le lettere più frequenti furono codificate con pochi segnali, più brevi; le lettere meno frequenti vennero codificate con molti segnali, più lunghi.

1874 – Codice Baudot

Èmile Baudot (1845 - 1903) osservò che se i codici usati per rappresentare i caratteri avessero avuto tutti la stessa lunghezza, i segnali di pausa non sarebbero più stati necessari. Il codice Baudot usa solo due segnali: 1 e 0 (segnale, non segnale), che durano lo stesso tempo.

Con il codice Baudot cominciano a farsi strada il concetto di bit (0 e 1) e le problematiche legate alla velocità di trasmissione. Ciascun carattere viene codificato con un numero fisso di segnali (inizialmente cinque). I segnali vengono ricevuti a gruppi di 5; una volta ricevuto il quinto segnale, viene identificato il carattere trasmesso. Il sesto segnale appartiene al carattere successivo.

Con 5 bit si possono codificare 25 = 32 caratteri, sufficienti per l’alfabeto, ma non per codificare anche i numeri (da 0 a 9) e i segni di punteggiatura.

Lo sapevi che

Nel codice Baudot la lettera A è codificata con 00011.

 >> pagina 84

1901 – Evoluzione del codice Baudot

Poiché i limiti hardware non consentivano di aumentare il numero di bit, per poter avere un maggior numero di caratteri disponibili viene aggiunto un meccanismo di scorrimento simile a quello che le macchine da scrivere usavano per le maiuscole.

In una posizione del meccanismo i 32 codici rappresentano 32 caratteri; nell’altra ne rappresentano altri 32 diversi. In questo modo si possono rappresentare 64 caratteri diversi. Inoltre (tenendo conto dei caratteri più usati) si fa in modo che per passare da un carattere all’altro servano meno scorrimenti possibili, per diminuire l’usura dei meccanismi.

1963 – Codifica ASCII a 7 bit

Viene introdotto il codice ASCII (American Standard Code for Information Interchange) che inizialmente rappresentava i caratteri utilizzando 7 bit attraverso i quali era possibile codificare 27 = 128 caratteri differenti (da 0000000 a 1111111 in notazione binaria; da 0 a 127 in notazione decimale).

I primi 31 caratteri sono codici di controllo (per esempio End of Transmission, EoT, indicava la fine della trasmissione), gli altri rappresentano le lettere dell’alfabeto maiuscole e minuscole, i simboli di punteggiatura e i numeri.

1981 – Codifica ASCII a 8 bit

Viene aggiunto l’ottavo bit (si raggiunge il byte) che permette di codificare 28 = 256 caratteri (da 00000000 a 11111111 in notazione binaria; da 0 a 255 in notazione decimale).

I primi caratteri della tabella ASCII (da 0 a 127) sono standard, vengono definiti universali e, ancora oggi, sono riconosciuti da tutti i sistemi del mondo. I caratteri dal 128 al 255, invece, variano da paese a paese e sono stati resi standard dalla normativa ISO 8859 che ha definito il Code-Page della seconda parte della tabella ASCII (per esempio il Code-Page dell’Italia è ISO8859-1 lingue latine, quello della Russia è ISO8859-5 alfabeto cirillico ecc.).

1992 – Codifiche UTF

La tabella ASCII non ha risolto completamente il problema della codifica dei caratteri. Per esempio, gli ideogrammi delle lingue asiatiche sono più di 128, quindi più delle possibilità offerte dalla tabella ASCII estesa.

Per ovviare a questo inconveniente sono state introdotte le codifiche UTF, che utilizzano più di 8 bit per codificare i caratteri:

  • codifica UTF-8 usa da 1 a 4 byte per rappresentare un carattere;
  • codifica UTF-16 richiede da 2 a 4 byte;
  • codifica UTF-32 richiede 4 byte.

La sigla UTF significa Unicode Transformation Format e prende il nome dal consorzio UNICODE che ha proposto questo sistema di codifica.

Lo sapevi che

I tasti SHIFT (per le maiuscole) e  (blocco maiuscole) sono i “nipoti” dei tasti che nelle macchine da scrivere spostavano meccanicamente i martelletti delle lettere, in modo che raggiungessero il foglio di carta in posizioni diverse. Sui martelletti erano presenti più caratteri (di solito lo stesso, maiuscolo e minuscolo), ma solo quello all’altezza impostata dal tasto colpiva il nastro e veniva stampato sul foglio.

Lo sapevi che

Nella lingua italiana il termine ASCII viene spesso pronunciato con la “sc” di scivolo, ma in realtà la pronuncia corretta è di derivazione anglosassone con la “c” dura (aschi).

  prova tu

Rispondi alle seguenti domande.

  • Con quale codifica inizia a farsi strada il concetto di bit?
  • Quanti caratteri differenti si riescono a codificare con 8 bit?
  • Quanti sono i caratteri contenuti nella tabella ASCII standard?

 >> pagina 85 
Tabella ASCII standard

DEC

SYM

DEC

CAR

DEC

CAR

DEC

CAR

0

NUL

32

Spazio

64

@

96

`

1

SOH

33

!

65

A

97

a

2

STX

34

"

66

B

98

b

3

ETX

35

#

67

C

99

c

4

EOT

36

$

68

D

100

d

5

ENQ

37

%

69

E

101

e

6

ACK

38

70

F

102

f

7

BEL

39

'

71

G

103

g

8

BS

40

(

72

H

104

h

9

TAB

41

)

73

I

105

i

10

LF

42

*

74

J

106

j

11

VT

43

+

75

K

107

k

12

FF

44

,

76

L

108

l

13

CR

45

-

77

M

109

m

14

SO

46

.

78

N

110

n

15

SI

47

/

79

O

111

o

16

DLE

48

0

80

P

112

p

17

DC1

49

1

81

Q

113

q

18

DC2

50

2

82

R

114

r

19

DC3

51

3

83

S

115

s

20

DC4

52

4

84

T

116

t

21

NAK

53

5

85

U

117

u

22

SYN

54

6

86

V

118

v

23

ETB

55

7

87

W

119

w

24

CAN

56

8

88

X

120

x

25

EM

57

9

89

Y

121

y

26

SUB

58

:

90

Z

122

z

27

ESC

59

;

91

[

123

{

28

FS

60

92

\

124

|

29

GS

61

=

93

]

125

}

30

RS

62

>

94

^

126

~

31

US

63

?

95

_

127

DEL

Tabella ASCII estesa ISO 8859-1 Latin-1 (Windows)

DEC

CAR

DEC

CAR

DEC

CAR

DEC

CAR

128

160

 

192

À

224

à

129

 

161

¡

193

Á

225

á

130

162

¢

194

Â

226

â

131

f

163

£

195

Ã

227

ã

132

164

¤

196

Ä

228

ä

133

165

¥

197

Å

229

å

134

166

¦

198

Æ

230

æ

135

167

§

199

Ç

231

ç

136

ˆ

168

¨

200

È

232

è

137

169

©

201

É

233

é

138

Š

170

ª

202

Ê

234

ê

139

171

«

203

Ë

235

ë

140

Œ

172

¬

204

Ì

236

ì

141

 

173

205

Í

237

í

142

Ž

174

®

206

Î

238

î

143

 

175

¯

207

Ï

239

ï

144

 

176

°

208

Ð

240

ð

145

177

±

209

Ñ

241

ñ

146

178

²

210

Ò

242

ò

147

179

³

211

Ó

243

ó

148

180

´

212

Ô

244

ô

149

181

μ

213

Õ

245

õ

150

182

214

Ö

246

ö

151

183

·

215

×

247

÷

152

˜

184

¸

216

Ø

248

ø

153

185

¹

217

Ù

249

ù

154

š

186

º

218

Ú

250

ú

155

187

»

219

Û

251

û

156

œ

188

¼

220

Ü

252

ü

157

 

189

½

221

Ý

253

ý

158

ž

190

¾

222

Þ

254

þ

159

Ÿ

191

¿

223

ß

255

ÿ

Lo sapevi che

Il codice ASCII ha ispirato anche il mondo dell’arte. La ASCII-Art utilizza gli editor testuali e 95 caratteri ASCII per creare delle immagini. Per una corretta visualizzazione sono richiesti font a larghezza fissa (per esempio Courier).

  ApprofondiMENTO
ALT… CODIFICA!

Alcuni caratteri contenuti nella tabella ASCII non sono presenti sulla tastiera. Per esempio la lettera È non c’è, ma con la tabella ASCII possiamo scriverla. Basta digitare il codice ASCII sul tastierino numerico tenendo premuto il tasto ALT :


 ALT + 212 ▶ È


Tutti i caratteri della tabella ASCII, anche quelli presenti sulla tastiera, possono essere generati in questo modo.

  ApprofondiMENTO
IL FORMATO DEI TESTI

I programmi di videoscrittura (per esempio Microsoft Word, LibreOffice Writer, ▶ unità 6) consentono di scrivere del testo e di dargli un formato, cioè di specificare la sua impaginazione (interlinea, spaziature ecc.), la dimensione e il tipo di carattere (font) e le altre caratteristiche del testo (colore, grassetto, sottolineato ecc.).

Se un testo è formattato allora il file include, oltre al testo stesso, anche l’estetica dei suoi caratteri.

Per esempio se un testo contiene solo la lettera A, al byte contenente il codice ASCII del carattere A vengono anteposti uno o più byte che indicano gli attributi di formato che la lettera deve avere.

Clic!
Clic!
Tecnologie informatiche per il primo biennio