Presentazione di PowerPoint - Home page istituzione trasparente

Commenti

Transcript

Presentazione di PowerPoint - Home page istituzione trasparente
1.2d: La codifica
Digitale dei caratteri
Bibliografia
 Curtin, 3.6 (vecchie edizioni)
 Curtin, 2.5 (nuova edizione)
 CR pag. 9-14
12 ott 2011
 Questi lucidi
2
La codifica dei caratteri
 Un testo è rappresentato attraverso una
successione di caratteri
 Ogni carattere viene scelto all’interno di un
insieme finito e piuttosto ristretto (almeno per le
lingue basate sull'alfabeto latino) di simboli
dell’alfabeto della lingua
 Riapplichiamo il metodo di codifica generale
(ad ogni oggetto da codificare corrisponde
una successione di bit)
12 ott 2011
 Nel caso del semaforo, facevamo corrispondere
 Una combinazione diversa di 2 bit a ogni stato del semaforo
 Nel caso del testo, faremo corrispondere
 Una combinazione diversa di 8 bit a ogni simbolo da
rappresentare
3
La codifica dei caratteri
 Costruiremo cioè una
TABELLA DI CODIFICA DEI CARATTERI
che associ caratteri alfanumerici a gruppi di 8
bit
 Ad esempio:
01000001  A
01000010  B
12 ott 2011
01000011  C
01000100  D
… e così via
4
La codifica dei caratteri
 Perché 8 bit?
 Un testo è composto da
 26 caratteri alfabetici
 10 Simboli numerici
 Alcuni simboli di interpunzione
 Altri simboli (+ - & ^ ecc…)
12 ott 2011
 26 caratteri alfabetici in maiuscolo (retaggio di
quando non esistevano i word processor e
veniva utilizzato un unico font)
5
 Alcuni segnali di comando (“Vai a capo”,
“squilla il campanello”, “Ritorno di carrello”,
“TAB”, ecc.. anche questi ricordo di quando
l’unica unità di output era la telescrivente che
bisognava “comandare” in alcune operazioni)
La codifica dei caratteri
 Con parole binarie lunghe 8 bit, è possibile
rappresentare 256 alternative diverse (28=256)
da 00000000…
…a 11111111
12 ott 2011
passando per tutte le combinazioni intermedie
(00000001, 00000010, …)
6
 256 alternative sono sufficienti per “codificare” i
simboli coinvolti in un testo.
Tavola ASCII
 La codifica di riferimento, utilizzata dalla
maggior parte dei computer, è detta ASCII (si
legge 'aski‘, American Standard Code for
Information Interchange)
12 ott 2011
 Il codice ASCII era stato sviluppato
originariamente per l'uso delle macchine
telescriventi, e alcuni dei 32 caratteri di
controllo risentono ancora di questa eredità.
7
 I primi 32 numeri sono associati, anziché a
caratteri alfanumerici, ai cosiddetti 'caratteri di
controllo' (control characters), corrispondenti a
istruzioni quali 'a capo', 'ritorno indietro' e simili
Tavola ASCII
 CODICE ASCII: Ad ogni lettera corrisponde un
numero, dato dalla posizione della lettera nella
tabella.
 Ad esempio: “P” corrisponde al numero
01010000.
12 ott 2011
 Quando viene ordinato alfabeticamente un
testo, il computer segue l’ordine dato dalla
posizione dei caratteri nella tavola ASCII, per
cui “1P” precede “P1”
8
 1P è dato dal numero 00110001 01010000,
 mentre P1 dal numero 01010000 00110001 e il
primo è più piccolo del secondo).
Tavola ASCII
9
Esempio
 Il risultato? Una stringa di caratteri sarà rappresentata dal
computer come una successione di gruppi di 8 bit
O
01001111
G
G
01000111
01000111
I
01001001
00100000
P
I
01010000
01001001
O
01001111
V
E
01010110
01000101
 Consideriamo il problema inverso: data una sequenza di
bit, il testo che essa codifica può essere così ottenuto:
 Si divide la sequenza in gruppi di 8 bit
12 ott 2011
 Si determina il carattere corrispondente ad ogni byte
 Esempio:
 01101001 01101100 00100000 01010000 01101111 00101110

10
i
l
P
o
.
Una codifica per i numeri
 Il Codice ASCII presenta un valore per ognuno dei
10 simboli che corrispondono alle cifre decimali.
 Esercizio: 0  4810; 25010; 35110; 45210;
 Il numero 324 viene così rappresentato dalla
sequenza di 3 bytes:
00110011
5110
00110010
5010
00110100
5210
 Questa rappresentazione
12 ott 2011
 non è efficiente (Utilizza molti più bits di quanto sia
necessario)
11
 Non è adatta per eseguire le operazioni aritmetiche sui
numeri
 Per i numeri si utilizza una codifica diversa dalla
ASCII.
Tavola ASCII estesa
(ISO Latin1 a 8 bit)
 La
codifica
ASCII
originaria
faceva
corrispondere ad ogni carattere una parola
binaria di 7 bits (ciò permetteva di codificare
128 caratteri diversi)
12 ott 2011
 La codifica attualmente usata fa corrispondere
ad ogni carattere una parola binaria di 8 bits
(ciò permette di codificare 256 caratteri diversi)
ed è denominata ISO Latin 1.
12
 ISO
indica
l'approvazione
da
parte
dell'International Standardization Organization
e 'Latin 1' indica che si tratta della tabella di
riferimento per gli alfabeti di tipo latino.
12 ott 2011
Tavola ASCII estesa
(ISO Latin1 a 8 bit)
13
12 ott 2011
ASCII Estesa (usata da Windows)
14
Esercizi
 Scrivete le seguenti frasi usando solo i codici
ASCII e ISO Latin 1.
 ç è un simbolo sulla tastiera.
 Erdös è stato un importante matematico.
 5+9=14.
12 ott 2011
a≥b
15
Tavola UNICODE a 16 bits
 Pur avendo a disposizione 256 caratteri, il
codice ISO Latin 1 non può essere veramente
'universale‘
12 ott 2011
 Proprio per questo motivo, è stato avviato un
progetto estremamente ambizioso: definire una
tavola di codifica basata su 16 bit, che
consentono 65.536 diverse combinazioni di '0' e
'1‘ lunghe 16, e permettono dunque di
codificare oltre 65.000 caratteri.
16
 Questa tavola si chiama Unicode, comprende
finora (versione 2.0) 38.885 caratteri, e
rappresenta uno sforzo di sistematizzazione non
solo dal punto di vista informatico, ma anche
da quello linguistico.
Testi non formattati
 Un testo non formattato è memorizzato come
sequenza di caratteri (spazi e ritorni a capo
compresi)
 Ogni carattere è rappresentato con un codice
numerico
12 ott 2011
 Il codice più diffuso è il codice ASCII, in cui ad
ogni carattere è associato un numero
compreso tra 0 e 255
17
 Un codice emergente è l’UNICODE che
consente di rappresentare testi scritti in altri
alfabeti (quello arabo) o in ideogrammi (ad
esempio il cinese)
Testi formattati
 Un testo formattato viene invece memorizzato in
modo non standard, a seconda del
programma con cui è stato scritto (ad esempio
Word)
12 ott 2011
 Esistono dei formati standard di diffusione dei
testi (i più usati sono PostScript e PDF) utilizzati
per la pubblicazione di articoli su Internet
18
 Un altro formato per testi e ipertesti è HTML,
usato per scrivere le pagine web
Word Processor
 Un word processor è un programma per la
composizione, la gestione e l’impaginazione dei
testi
12 ott 2011
 Il testo viene trattato a livello di parola (da cui il
termine word processor), ma anche a livello
superiore (paragrafo, sezione, ecc.) ed inferiore
(singolo carattere)
19

Documenti analoghi

Visualizza

Visualizza diverse e questa soluzione non funziona più. Una soluzione è venuta da Unicode. Codifica UNICODE UNICODE è un sistema di codifica, realizzato da Unicode Consortium (consorzio internazionale di azie...

Dettagli

tabella dei caratteri ascii

tabella dei caratteri ascii TABELLA DEI CARATTERI ASCII La tabella ASCII (American Standard Code for Information Interchange) è un codice convenzionale usato per la rappresentazione dei caratteri di testo attraverso i byte: a...

Dettagli

Lezioni 1 e 2 - circe

Lezioni 1 e 2 - circe era inutilizzabile come formato di scambio fra macchine diverse

Dettagli