Presentazione di PowerPoint - Home page istituzione trasparente
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; 25010; 35110; 45210; 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
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...
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...