Codifica dei caratteri

Slides:



Advertisements
Presentazioni simili
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F2 Selezione.
Advertisements

Selezione - approfondimento
Trasmissione delle informazioni
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.
La rappresentazione dellinformazione. 7-2 Digitalizzare linformazione Digitalizzare: rappresentare linformazione per mezzo di cifre (ad es: da 0 a 9)
Lezione 5 informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università
informatica di base per le discipline umanistiche
Java base I: Sintassi e tipi di dati
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Che cos’è un sistema di numerazione?
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
I computer vengono utilizzati per automatizzare la soluzione di problemi di varia natura trattando le informazioni in entrata (DATI) eseguendo gli opportuni.
INFORmazione autoMATICA
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
I set di caratteri Fabio Vitali. Fabio Vitali - Almaweb Introduzione Qui esaminiamo in breve: Il problema della codifica dei caratteri ASCII (7.
27 marzo 2003 Modulo di Comunicazione Mirko Tavosanis
WWW I set di caratteri Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo in breve: u Il problema della codifica dei caratteri u ASCII (7 bit.
1 Sistemi di Numerazione –Tutti i sistemi di numerazione sono fondati sullo stesso principio: la “base” (b) è un numero intero maggiore di 1; la base corrisponde.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
Corso di Alta formazione in TL&OS Modulo 1.3 Reti e Servizi - lezione 1 Modulo 1.3 Reti e servizi 1. Introduzione al Networking Connettere il PC in rete;
IDUL 2010 RAPPRESENTAZIONE DELLE INFORMAZIONI IN FORMA DIGITALE 1.
.  I tipi di dati non primitivi sono gli array, le struct e le union.  Gli array sono degli aggregati di variabili dello stesso tipo.  La dichiarazione.
Rappresentazione dell’ Informazione Digitale e Binario
Basi di dati - Fondamenti
NUMERI E E CARATTERI IN BINARIO
Creare e modificare suoni
ITALIANO D’OGGI.
Sistemi e Applicazioni per l’Amministrazione Digitale
Romanizzazione della lingua cinese
Unità di apprendimento 1
TCP/IP.
GLI IPERMEDIA LA COMUNICAZIONE è una forma di relazione sociale che coinvolge aspetti ed elementi diversi. E’ composta da: MITTENTE= chi manda.
Rappresentazione dell’ Informazione Informazione e Comunicazione
La bibbia.
La rappresentazione delle informazioni
TCP/IP. Sommario  Introduzione al TCP/IP  Indirizzi IP  Subnet Mask  Frame IP  Meccanismi di comunicazione tra reti diverse  Classi di indirizzi.
Universal Dependencies e treebank
I segni diacritici fondamentali, gli accenti e la prosodia in Greco
ai termini e ai principi informatici utili per utilizzare Linux
FORMULE E FUNZIONI SU EXCEL
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Potenza in corrente alternata monofase
Informatica A.A. 2016/17 Prof. Italo Epicoco
SUBNETTING E SUPERNETTING
IDUL 2011 RAPPRESENTAZIONE DELLE INFORMAZIONI IN FORMA DIGITALE 1.
I segni diacritici fondamentali, gli accenti e la prosodia in Greco
I set di caratteri Fabio Vitali
Rappresentazione dei Numeri
Controllo e microprogrammazione
Classe III A A.s – 2012 Programma di Informatica
Informatica - Prof. Gregorio Cosentino
Basi di dati - Fondamenti
Programmare.
Codicfiche Interi Complemento alla base.
BootCaT: Bootstrapping Corpora and Terminology
© 2007 SEI-Società Editrice Internazionale, Apogeo
Definizione di linguaggio di programmazione
Corso base per Operatori di Protezione Civile
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
* 07/16/96 Sez. 2: Ordinamento La consultazione di banche dati è sempre più cruciale in tutte le applicazioni dell’Informatica. Se vogliamo consultare.
Sistemi Digitali.
Fogli elettronici e videoscrittura
Programmazione e Laboratorio di Programmazione
Fogli di Calcolo Elettronici
Programmazione e Laboratorio di Programmazione
La programmazione strutturata
Algoritmi.
ALGORITMO E’ una successione finita di passi che consente di risolvere tutti i problemi di una classe e di determinare il risultato. Caratteristiche: Finito.
Transcript della presentazione:

Codifica dei caratteri Jean Maurice Émile Baudot (Magneux, 11 settembre 1845 - Sceaux, vicino Parigi, 28 marzo 1903) Nel 1870 inventò il suo codice telegrafico, il primo realmente digitale, basato su due soli stati, sia logici ("1" e "0", unità che oggi chiamiamo "bit") sia fisici (corrente elettrica = "1", nessuna corrente elettrica = "0"). Nelle striscie perforate, un foro indica un Segno ("1" logico), la sua assenza uno Spazio ("0" logico). http://www.infodomus.it/radio/fame/jmebaudot.htm

Introduzione Qui esaminiamo in breve: Il problema della codifica dei caratteri ASCII (7 bit ed esteso) ISO/IEC 10646 e UNICODE UCS e UTF Codifica caratteri

I set di caratteri La globalizzazione di Internet ha proposto il problema di rendere correttamente gli alfabeti di migliaia di lingue nel mondo. Il problema non si pone per i protocolli, che trattano byte interpretati da applicazioni, anche se “per caso” sono significativi per persone di lingua inglese quando scritti in US-ASCII Il problema si pone per il contenuto dei protocolli, in quanto deve essere evidente e non ambiguo il criterio di associazione di un blocco di bit ad un carattere di un alfabeto. Codifica caratteri

I caratteri (1) Il carattere è l’entità atomica di un testo scritto in una lingua umana. In alfabeti diversi i caratteri hanno particolarità diverse: Negli alfabeti di derivazione greca (greco, latino e cirillico), esiste la distinzione tra maiuscole e minuscole, ignota altrove Negli alfabeti di derivazione latina si sono inventati segni particolari sulle lettere per soddisfare le esigenze delle varie lingue (accenti, segni diacritici, ecc.). In ebraico, le vocali sono modificatori di lettere di consonanti In arabo, la giustapposizione di lettere diverse nella parola provoca una differenziazione della forma delle lettere stesse. In cinese, è possibile creare nuovi caratteri come composizione di altri caratteri esistenti. Codifica caratteri

I caratteri (2) Lingue diverse associano ai caratteri ruoli diversi: rappresentano di volta in volta suoni, sillabe, intere parole. Esistono tre aspetti di un carattere: La sua natura (di difficile attribuzione: a e à sono la stessa lettera?) La sua forma, o glifo (con ambiguità: P ha un suono negli alfabeti latini, e un altro negli alfabeti greci e cirillici; inoltre i font creano forme anche molto diverse per le stesse lettere). Il suo codice numerico: in base ad una tabella piuttosto che un’altra, lettere diverse, di alfabeti diversi, hanno lo stesso codice numerico, o la stessa lettera ha codici diversi. Codifica caratteri

Codifiche per gli alfabeti occidentali (1) Baudot usato nei telex e telescriventi, era un codice a 5 bit, per un totale di 32 caratteri possibili: alfabeto maiuscolo, qualche punteggiatura, spazio. EBCDIC (Extended Binary Characters for Digital Interchange Code) Codifica proprietaria (IBM, 1965) a 8 bit, viene usata nei suoi mainframe. Contemporaneo dell'ASCII IBM è molto più sicura della superiorità dei suoi chip, e si azzarda fin dagli anni cinquanta ad usare tutti e 8 i bit del byte. 56 codici di controllo e molte locazioni vuote, mentre le lettere dell'alfabeto NON sono contigue, ma organizzate in modo da avere il secondo semibit che varia da 0 a 9 (0x081-0x89, 0x91-0x099, 0xA1-0xA9, ecc.). Codifica caratteri

Codifiche per gli alfabeti occidentali (2) ASCII (American Standard Code for Information Interchange) standard ANSI (X3.4 - 1968) che definisce valori per 128 caratteri, ovvero 7 bit su 8. Nello standard originale il primo bit non è significativo ed è pensato come bit di parità. ASCII possiede 33 caratteri (0-31 e 127) di controllo, tra cui molte ripetizioni inutili Backspace (sposta la testina indietro di un carattere, utile nelle telescriventi - 08 [0x08]) e Delete (cancella tutti i buchi di un carattere in una scheda perforata, cioè tutti buchi, 1111111 - 127 [0x7F]). Carriage Return (riporta la testina all'inizio di riga - 13 [0x0C]) e Form Feed (gira il carrello di una riga - 14 [0x0D]) che causano molte confusioni nei sistemi moderni. Gli altri 95 sono caratteri dell'alfabeto latino, maiuscole e minuscole, numeri e punteggiatura. Codifica caratteri

Codifiche per gli alfabeti occidentali (3) ISO 646-1991 Una codifica ISO per permettere l'uso di caratteri nazionali europei in un contesto sostanzialmente ASCII. Presenta una International Reference Version (ISO 646 IRV) identica all'ASCII e un certo numero di versioni nazionali ISO 646 lascia 12 codici liberi per le versioni nazionali dei vari linguaggi europei. Ogni tabella nazionale la usa per i propri fini. I caratteri sacrificati sono: # $ @ ã \ ü ¬ ` { | } ~ Codifica caratteri

ISO 8859/1 (ISO Latin 1) Estensioni di ASCII sono state fatte per utilizzare il primo bit e accedere a tutti i 256 caratteri. Nessuna di queste è standard ISO 8859/1 (ISO Latin 1) è l’unica estensione standard e comprende un certo numero di caratteri degli alfabeti europei come accenti, ecc. ISO Latin 1 è usato automaticamente da HTTP e qualche sistema operativo. Ovviamente ISO Latin 1 è compatibile all’indietro con ASCII, di cui è un estensione per i soli caratteri >127. Codifica caratteri

Unicode e ISO/IEC 10646 (1) Esistono dozzine di codici a 8 bit per alfabeti non latini (e.g., cirillico, greco e giapponese semplificato) e molti codici a 16 bit per linguaggi orientali (giapponese e cinese). Il compito di creare uno standard unico è stato affrontato indipendentemente da due commissioni di standard, Unicode e ISO/IEC 10646. Unicode usa 2 byte per ogni carattere, per un totale di 65536 caratteri. Questo basta per coprire la maggioranza degli alfabeti, ma non il cinese. ISO 10646 utilizza uno schema a lunghezza variabile fino a quattro byte, con 2 miliardi di combinazioni. Anche Unicode 2.0 ha introdotto schemi a lunghezza variabile. Codifica caratteri

Unicode e ISO/IEC 10646 (2) ISO 10464 è composto di vari schemi di codifica. Il più semplice utilizza un numero fisso di byte: UCS-2 è uno schema a due byte, ed è identico a Unicode (questo non è garantito in futuro). E’ un’estensione di ISO Latin 1. UCS-4 è uno schema a 31 bit in 4 byte, estensione di UCS-2. E’ diviso in gruppi, piani, righe e celle. ASCII T 1 ISO Latin 1 Unicode / UCS-2 - UCS-4 gruppo piano riga cella Codifica caratteri

Unicode e ISO/IEC 10646 (3) In UCS-4 esistono dunque 32768 piani di 65536 caratteri ciascuno. Il primo piano, o piano 0, è noto come BMP (Basic Multilingual Plane) ed è ovviamente equivalente a UCS-2 e a Unicode. Tuttavia, nella maggior parte dei casi i testi scritti utilizzeranno soltanto uno degli alfabeti del mondo. In questo caso, sono necessari soltanto una minima parte dei caratteri di UCS-4. Inoltre, la maggior parte degli alfabeti sta nel BMP, e la maggior parte dei documenti sono scritti in ASCII. E’ dunque uno spreco utilizzare quattro byte per ogni carattere in questo caso. Codifica caratteri

Unicode e ISO/IEC 10646 (4) Sono quindi stati sviluppati due schemi di compressione per utilizzare un byte o due byte per UCS-4. Questi schemi a lunghezza variabile si chiamano UTF (UCS Transformation Format). UTF-8 utilizza 1 byte per caratteri ASCII a 7 bit, e da due a sei byte per i caratteri estesi. Il primo bit deve essere a uno. All’inizio viene scritta la lunghezza in byte dell’intero carattere, poi il carattere viene scritto in blocchi di sei bit preceduti dal codice ‘10’ per indicare a prosecuzione del carattere. Unicode è equivalente a UCS-2, ma ha un meccanismo a lunghezza variabile chiamato UTF-16, che permette di accedere ai primi 16 piani di UCS-4. 1 - UTF-8 UCS-4 lunghezza Bit di continuazione Codifica caratteri

Conclusioni Qui abbiamo parlato di set di caratteri A lunghezza fissa, 7, 8 bit (ASCII, EBCDIC, ISO Latin 1) A lunghezza fissa, 16, 31 bit (UCS-2, UCS-4) A lunghezza variabile, 2-6 * 8 bit (UTF-8, UTF-16) Codifica caratteri

Riferimenti N. Bradley, The XML companion, Addison Wesley, 1998, cap. 13. K. Simonsen, Character Mnemonics & Character Sets, RFC 1345, IETF, June 1992 Codifica caratteri