Il CODICE UNICODE (Prof. M. NASO)

Documenti analoghi
Elementi di informatica

SCHEMA ORARIO SETTIMANALE. IT Indirizzo Informatica e Telecomunicazioni

1.2d: La codifica Digitale dei caratteri

Pag. 1. La Rappresentazione e la Codifica delle informazioni (parte 2) Tipi di dati. Informatica Facoltà di Medicina Veterinaria

1.2d: La codifica Digitale dei caratteri

La Rappresentazione dell Informazione

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

La codifica dei caratteri di un testo

CODIFICA DEI CARATTERI

La codifica digitale

La codifica. dell informazione

Rappresentazione dell Informazione

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Lezione 3. I numeri relativi

Rappresentazione dei Dati

Rappresentazione dei Numeri

I.4 Rappresentazione dell informazione

Cap. 2 - Rappresentazione in base 2 dei numeri interi

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)

Soluzioni Esercizi su rappresentazione binaria dell informazione

L'Informazione e la sua Codifica. Maurizio Palesi

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

La codifica. dell informazione

Codifica binaria. Rappresentazioni medianti basi diverse

Sistemi di numerazione

Codifica dell Informazione

Numeri e caratteri in binario. Prof.ssa Antonella Serra

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

Rappresentazione dei dati in memoria

La rappresentazione delle informazioni

Codifica dell Informazione

Prof. Maristella Agosti, Ing. Marco Dussin

Quante informazioni posso rappresentare con n bit?

Algebra di Boole e porte logiche

Aritmetica dei Calcolatori

La codifica del testo

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli

Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

La codifica binaria. Informatica B. Daniele Loiacono

I sistemi di numerazione. Informatica - Classe 3ª, Modulo 1

Corso di Sistemi di Elaborazione delle informazioni

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

RAPPRESENTAZIONE DELLE INFORMAZIONI

Conversioni di base: riassunto

Sistemi di numerazione

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

Sistemi di Elaborazione delle Informazioni 6 CFU

Rappresentazione e Codifica dell Informazione

Dispensa di Informatica I.2

Rappresentazione dell informazione

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

Linguistica Computazionale

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

R. Cusani, F. Cuomo: Telecomunicazioni - DataLinkLayer: Gestione degli errori, Aprile 2010

Somma di numeri binari

Rappresentazioni numeriche

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Elementi di informatica

Programmazione I Paolo Valente /2017. Lezione 6. Notazione posizionale

La codifica dell informazione

L'Informazione e la sua Codifica. Maurizio Palesi

Transcript:

ITIS Euganeo Este (PD) Via Borgofuro, 6 www.itiseuganeo.it Corso Istruzione e Formazione di INFORMATICA per gli adulti MODULO 2 SISTEMI Il CODICE UNICODE (Prof. M. NASO) Commissione Educazione degli Adulti Offerta Formativa 2008/2009 serale@itiseuganeo.it

IANA, Internet Assigned Numbers Authority, ente di standardizzazione internazionale ha standardizzato i formati numerici per rappresentare i numeri, code point, che referenziano i caratteri del codice Unicode. I formati intitolati UTF, Unicode Transformation Format, sono espressi con sequenze utilizzando una delle seguenti forme: 1. U+ ee per UTF-8 2. U+eeee per UTF-16 3. U+eeeeeeee per UTF-32 e: cifra esadecimale. Si definisce code point un punto nello spazio dei caratteri Charset: insieme dei caratteri utilizzao dall alfabeto Coding l associazione di un carattere ad un punto Encoding: modalità con la quale è espresso il numero. In Unicode qualsiasi carattere che abbia una realtà fisica indipendente è un carattere. Esempio: a à sono entità indipendenti. UTF-8 In questo formato l insieme dei code point è stato predisposto nei seguenti quattro gruppi: Gruppo Da A Sequenza di ottetti 1 00000000 0000007F 0xxxxxxx 2 00000080 000007FF 110xxxxx 10xxxxxx 3 00000800 0000FFFF 1110xxxx 10xxxxxx 10xxxxxx 4 00010000 001FFFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx I valori contenuti nelle colonne Da e A sono in base esadecimale mentre le x delle colonne contenute in Sequenza di ottetti rappresentano posizioni di bit. Come si può rilevare dalla tabella un code point può essere rappresentato da uno a quattro ottetti a seconda del gruppo di appartenenza. Il numero di bit di valore 1 contenuti nel primo ottetto indica il numero di ottetti della sequenza. I primi 128 code point codificano i caratteri del codice ASCII Standard a 7 bit con un solo ottetto. La codifica UTF-8 è efficiente dal punto di vista dell occupazione di memoria potendo associare sequenze più corte per i caratteri più utilizzati mentre risulta poco efficiente in fase di elaborazione. Questo formato è utilizzato nelle pagine HTML e più generalmente nel WEB. L algoritmo di codifica è il seguente: 1. Noto il code point con un operazione di look up, ricerca, si ricava dalla tabella il gruppo di appartenenza e per induzione la lunghezza della sequenza. 2. Si divide il numero da destra verso sinistra in sequenze di sei bit. 3. Con i bit di ogni gruppo si riempiono le x della sequenza associata. 4. Si rappresentano i gruppi in esadecimale prefissandoli con U+. Esempio: Rappresentare in Unicode il carattere che ha il seguente code point espresso in esadecimale: AA 1. Il code point appartiene al gruppo 2 per cui sarà formato da una sequenza di due ottetti. 2. Trasformiamo, in binario, AA: 1010 1010 3. Dividiamo il numero, da destra verso sinistra, in sequenze di sei bit ed otteniamo: 10 101010 2

4. Dalla tabella ricaviamo che per l ottetto più significativo abbiamo 5 posizioni di bit disponibili e poiché la sequenza più significativa ha due bit dobbiamo aggiungere 3 bit, di valore 0, non significativi per cui le sequenze diventano 00010 101010 5. Adesso generiamo i due ottetti sostituendo le x del formato con i corrispondenti valori. 11000010 10101010 6. Trasformiamo in esadecimale: C2 AA 7. La rappresentazione risultante è la seguente: U+C2, U+AA UTF-16 In questo formato l insieme dei code point è rappresentato da una o due sequenze di 4 cifre esadecimale. L insieme dei code point è stato partizionati in gruppi, da 65536 elementi, denominati piani. Attualmente vi sono 17 piani che vanno da 0FFFF a 10FFFF. I primi 65536 elementi appartenenti al piano 0 sono il nucleo originario di UNICODE indicato come BMP, Basic Multilingual Plane. Questa rappresentazione è un giusto compromesso tra l occupazione di memoria e l efficienza di elaborazione. È utilizzata dal linguaggio Java e dai sistemi Windows. Il formato UTF-16 riserva i code point da D800 a DBFF, 1024 posizioni detti surrogati alti, e i code point da DC00 a DFFF, detti surrogati bassi, per codificare i code point che appartengono a piani diversi dal piano 0. Il processo di codifica segue il seguente algoritmo: 1. Se il code point è minore o uguale a FFFF la rappresentazione è su una sequenza di 16 bit espressi in esadecimale prefissata da U+ 2. Se il code point è maggiore di 65535 si utilizza una sequenza di due coppie di 16 bit espressi in esadecimale utilizzando un surrogato alto e un surrogato basso. Per esempio D800 e DC00. 3. Si sottrae al code point il seguente numero esadecimale 10000 in modo che tutti i piani compreso il 17 stiano su 20 bit. 4. Il numero così ottenuto si suddivide in due coppie da 10 bit. 5. La coppia che ha i 10 bit più significativi si mette in OR logico con D800, surrogato alto, e l altra coppia con DC00, surrogato basso: supponiamo di aver scelto la suddetta coppia surrogato. 6. Le coppie da 16 bit trasformate in esadecimale prefissate da U+ codificano il code point. Esempio: il carattere A che ha code point 41 e rappresentato come U+0041 mentre per il code point 7AAAA, essendo superiore a FFFF, bisogna eseguire l algoritmo. 1. 7AAAA- 10000 = 6AAAA 2. Trasformiamo in binario 0110 1010 1010 1010 1010 3. Le coppie da 10 bit sono: 0110101010 1010101010 4. Facciamo l OR logico tra D800 che in binario fa 1101100000000000 con la coppia 0110101010 otteniamo: 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 0 1 0 1 0 Trasformato in esadecimale abbiamo D9AA che è rappresentato come U+D9AA 3

5. Facciamo lo stesso con i 10 bit meno significativi con il surrogato basso DC00 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 1 1 1 0 1 0 1 0 1 0 1 0 Trasformato in esadecimale abbiamo: DEAA che è rappresentato come. U+DEAA In conclusione il code point 64321 è rappresentato dalla seguente coppia U+D9AA, U+DEAA UTF-32 In questo formato tutti i code point che referenziano i caratteri hanno la stessa lunghezza formata da 8 cifre esadecimale nel formato U+eeeeeeee. La rappresentazione UFT-32 è poco efficiente per quanto riguarda l occupazione di memoria ma molto efficiente nelle fasi di elaborazione perché i caratteri hanno tutti lo stesso numero di bit e non si perde tempo a ad individuare la lunghezza della sequenza ed estrarre da questa il code point. La rappresentazione UTF-32 è utilizzati nei sistemi Unix. 4

POF 2008/2009 Biennio tecnologico Elettrotecnica e Automazione Elettronica e Telecomunicazioni Informatica Abacus Meccanica Scientifico Tecnologico Scientifico Tecnologico progetto Sportivo 2008 Patente ECDL Eucip IT ADMINISTRATOR Corsi EDA Corso Serale progetto Sirio ITIS Euganeo Este (PD) Via Borgofuro, 6 www.itiseuganeo.it 5