La codifica digitale del testo

Похожие документы
La rappresentazione delle informazioni

La codifica dei caratteri di un testo

Tabella dei codici ASCII standard

1.2d: La codifica Digitale dei caratteri

Prof. Maristella Agosti, Ing. Marco Dussin

Linguistica Computazionale

1.2d: La codifica Digitale dei caratteri

La Rappresentazione dell Informazione

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

La codifica del testo

La codifica digitale

Rappresentazione di dati: caratteri. Appunti a cura del prof. Ing. Mario Catalano

Somma di numeri binari

La codifica dell informazione

Codifica dell Informazione

Codifica dell Informazione

Tipi di elaboratori Rappresentazione della informazione Codifica della informazione

Rappresentazione dell Informazione. Sistemi di Elaborazione delle Informazioni Rappresentazione Informazione 1

Codifica informazione testuale

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

CODIFICA DEI CARATTERI

Caratteristiche di un linguaggio ad alto livello

Il Modello di von Neumann (2) Prevede 3 entità logiche:

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

La codifica binaria. Informatica B. Daniele Loiacono

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

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

Rappresentazione di dati: numerazione binaria. Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano

Rappresentazione dell Informazione

Appunti di informatica: la codifica dell'informazione

Definizione di file. Directory e file File binari e file di testo

Rappresentazione di dati: caratteri di testo. Appunti a cura del prof. Ing. Mario Catalano

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

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

CONOSCERE IL LINGUAGGIO DEL COMPUTER

Il sistema binario: bit e Byte Codifica del testo Il Byte come U.d.M. dell'informazione Multipli del Byte

La codifica dell informazione

Quante informazioni posso rappresentare con n bit?

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

Informatica di Base - 6 c.f.u.

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

Informatica. Comunicazione & DAMS A.A. 2015/16. Dr.ssa Valeria Fionda

Il trattamento del testo

Numeri e caratteri in binario. Prof.ssa Antonella Serra

Rappresentazione dei Dati

Megabyte (MB) = 1024KB 1 milione di Byte (e.g. un immagine di 30MB) Gigabyte (GB) = 1024MB 1 miliardo di Byte (e.g. un hard disk da 80GB)

Informatica Generale 1 - Esercitazioni Flowgraph, algebra di Boole e calcolo binario

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

Транскрипт:

La codifica digitale del testo

Codifica digitale La codifica Il computer elabora esclusivamente numeri binari. Le informazioni per essere trattate ed elaborate dal computer devono essere prima trasformate in numeri binari (sequenze di 0 e 1). Il processo di trasformazione di una qualunque informazione in numeri si chiama codifica. Se si usano numeri binari la codifica si chiama codifica binaria.

Codifica digitale La codifica I simboli 0 e 1 si chiamano anche bit (unità di informazione). Il computer associa i valori binari di 1 e 0 al passaggio di corrente, alla polarizzazione di una sostanza magnetica, ecc. 8 bit formano un byte. Con n bit si possono rappresentare 2 n numeri binari distinti, quindi con n bit possiamo rappresentare 2 n informazioni distinte.

Testo Il linguaggio e il testo Il testo scritto è una trasposizione del linguaggio parlato. Per convenzione si assegnano dei simboli ai fonemi, tali simboli sono i caratteri dell alfabeto. Ogni parola viene rappresentata con una sequenza di caratteri. Ogni lingua ha il suo alfabeto che può essere radicalmente diverso da quello di altre lingue.

Testo Il testo Il testo scritto è formato non solo da caratteri dell alfabeto (necessari per formare le parole) ma anche da altri simboli necessari per rendere comprensibile, e quindi fruibile, il testo. In particolare in un testo possiamo distinguere: I limitatori di parola (spazi bianchi). I limitatori di frase (segni di interpunzione). I limitatori di pagina (margini). I simboli speciali (virgolette, simboli matematici ecc.). La disposizione e l aspetto del testo (formattazione).

Testo La codifica del testo Quindi per passare da un testo (in linguaggio naturale) a un testo elettronico (in binario) è necessario un processo di codifica che deve essere composto da due parti: La codifica dei caratteri e dei simboli grafici. La codifica delle operazioni necessarie per esplicitare l interpretazione del testo (markup).

Codifica dei testi Linguaggio parlato Codifica dei simboli grafici Formattazione (markup) Testo scritto

Testo I vantaggi del testo elettronico I vantaggi più evidenti del testo elettronico, rispetto a un testo tradizionale, sono: le operazioni di manipolazione (modifica, cancellazione ecc.) di un testo elettronico sono molto semplici e veloci. le ricerche effettuate sono più veloci e precise. la conservazione delle informazioni è più sicura, grazie alla possibilità di effettuare delle copie (a costo praticamente nullo) dei file che contengono il testo. Nel caso di un testo elettronico la condivisione e lo scambio di informazioni viene agevolato rispetto ad un testo tradizionale (cartaceo).

Testo Acquisizione di un testo Per trattare elettronicamente il testo è necessario acquisirlo, ovvero fornirlo come input al computer. Per acquisire il testo si può operare in diversi modi: Digitare il testo tramite la tastiera. Usare uno scanner e un software di OCR (Optical Character Recognition), Copiare il testo precedentemente acquisito o creato da altri tramite la copia di file memorizzati su qualche tipo di supporto (floppy disk, CD-ROM ecc.).

La codifica dei caratteri

Codifica dei caratteri La codifica dei caratteri I caratteri sono i componenti fondamentali di un qualunque scritto umano. I caratteri hanno una natura (ossia il fonema che rappresentano) e un glifo (ossia il modo in cui sono rappresentati). A a A a A a I caratteri rappresentati sopra hanno la stessa natura ma glifi diversi.

Codifica dei caratteri La codifica dei caratteri Per codificare i simboli grafici bisogna associare ad ogni carattere un numero naturale. In questo modo costruiamo una corrispondenza biunivoca tra l insieme dei caratteri e un insieme di numeri. Questa corrispondenza può essere rappresentata per mezzo di una tabella detta set di caratteri. Ad ogni carattere si associa un codice numerico detto code position.

Codifica dei caratteri La codifica dei caratteri Per esempio, se ordiniamo le lettere dell alfabeto italiano da 1 a 21 e associamo ad ogni carattere il numero d ordine corrispondente, potremo codificare la parola PENNA con la sequenza di numeri 14 5 12 12 1. A B E N 1 2 5 12 P E N N A 14 5 12 12 1 p 14

Codifica ASCII La codifica ASCII La prima standardizzazione della codifica dei caratteri venne fatta dall American Standard Code for Information Interchange, o ASCII, nel 1968, tuttavia essa era già esistente nella sua forma definitiva dalla fine degli anni cinquanta. La codifica ASCII usa solo 7 bit degli 8 disponibili in un byte, quindi permette solo 2 7 = 128 combinazioni diverse, e lascia un bit libero (ai tempi la scarsa qualità dell hardware questo bit serviva per verificare la corretta memorizzazione e trasmissione di ogni singolo byte).

Codifica ASCII La codifica ASCII Delle 128 combinazioni possibili le prime 32 sono riservate a codici di controllo, vale a dire caratteri particolari di uso nelle telescriventi e nei terminali dell epoca a disposizione, mentre dalla 33 a posizione in poi trovano una codifica le lettere maiuscole e minuscole dell alfabeto latino, i numeri, i principali caratteri di punteggiatura, le parentesi e vari simboli (&, >, <, /, +, *, ecc). Mancano in ASCII tutte le varianti dell alfabeto latino usate nelle altre lingue europee (ad esempio le vocali accentate o con la dieresi, i simboli delle monete, ecc).

Codifica ASCII La codifica ASCII La codifica ASCII standard viene detta anche ISO-646. Nella codifica ASCII i principali caratteri dell alfabeto sono trasformati in un numero decimale e quindi in un numero binario o esadecimale. La tabella di codifica ASCII è uno standard accettato da tutti i paesi.

Codifica ASCII Tabella dei codici ASCII

Codifica ASCII estesa La codifica ASCII estesa In seguito al miglioramento della qualità dell hardware era più necessario riservare un bit per il controllo, quindi si cominciò ad utilizzare il bit libero per codificare altri caratteri (per esempio i caratteri tipici di ogni lingua). Con i 7 bit della codifica ASCII più il nuovo bit si potevano codificare 2 8 = 256 caratteri. Ogni produttore pensò di codificare i caratteri che riteneva più utili dando vita ad una codifica ASCII estesa. Le due estensioni più comuni erano quella dell ANSI (American National Standard Institute) e del sistema operativo MS- DOS (Microsoft Disk Operating System).

Codifica ASCII estesa La codifica ASCII estesa Il risultato di queste estensioni non standard fu che i testi diventavano incomprensibili trasportandoli da una macchina ad un altra. Nel 1990 si pensò di standardizzare le estensioni ASCII a 8 bit, nacque così lo standard ISO Latin-n o ISO-8859-n dove n indica la tabella estesa utilizzata (necessaria per rappresentare i caratteri delle varie lingue). La codifica ASCII estesa nelle prime 128 posizioni è identica alla codifica ASCII standard a 7 bit.

Codifica ASCII estesa La codifica ASCII estesa Per analogia con la codifica ASCII standard le prime 32 posizioni dopo la 128 a sono riservate a caratteri di controllo, mentre nelle successive 96 posizioni sono codificati i simboli e i caratteri tipici di ogni lingua (à, ã, è, è, ë, æ, ì, ï, î, ò, ö, ø, õ, ù, ü, À, Á, Â, Ã, È, Ë, É, Ê, Æ, Ì, Í, Î, Ï, Ø, Ö, Ó, Ò, Õ, č, Č, ç, ecc.) Il risultato della nuova codifica fu una tabella per ogni lingua, inoltre questi set di caratteri erano tutti reciprocamente incompatibili (per esempio il codice 232 in ISO-8859-1 (Latin-1) = è mentre in ISO-8859-6 (Cyrillic) = ш ).

Codifica ASCII estesa Tabelle dei codici ASCII estesi ISO-8859-1 Latin 1 (West Europe) ISO-8859-2 Latin 2 (East Europe) ISO-8859-3 Latin 3 (South Europe) ISO-8859-4 Latin 4 (North Europe) ISO-8859-5 Cyrillic ISO-8859-6 Arabic ISO-8859-7 Greek ISO-8859-8 Hebrew ISO-8859-9 Latin 5 (Turkish) ISO-8859-10 Nordic Nel 1999 è stato introdotto l ISO Latin-9 che rappresenta una piccola modifica dell ISO Latin-1, che contiene il simbolo dell euro ( ) e pochi altri simboli.

Codifica Unicode La codifica unicode (www.unicode.org) La tabella ASCII estesa con i suoi 256 caratteri era più che sufficiente per codificare gli alfabeti di molti paesi occidentali, tuttavia non era sufficiente per rappresentare tutti i caratteri di tutte le lingue del mondo. Così nel 1991 si pensò di introdurre una nuova codifica che potesse comprendere tutti gli alfabeti di tutte le lingue (presenti e passate) del mondo. Il nuovo standard è noto come Unicode o ISO 10646 e prevede l utilizzo di più byte per ogni carattere. Ci sono tre tipi di codifica Unicode in relazione al numero di byte utilizzati per la codifica.

Codifica Unicode La codifica unicode (www.unicode.org) Lo standard Unicode è sufficiente per rappresentare i caratteri di tutti i sistemi grafici. Unicode permette la realizzazione di documenti multilingua. Lo standard Unicode si basa sui principi di composizione dinamica dei caratteri ç= c +

Codifica UCS-2 La codifica UCS-2 Lo standard UCS-2 (Unified o Universal Character Set a 2 byte) utilizza due byte (16 bit) per ogni carattere, quindi è in grado di rappresentare 2 16 = 65.536 caratteri diversi, in questo modo si riescono a codificare la maggior parte degli alfabeti moderni. Lo standard UCS-2 non è sufficiente per codificare il cinese e altre lingue orientali.

Codifica UCS-2 Esempio di codifica Unicode UCS-2

Codifica UCS-4 La codifica UCS-4 Lo standard UCS-4 (Unified o Universal Character Set a 4 byte) utilizza quattro byte (32 bit) per ogni carattere, quindi è in grado di rappresentare 2 32 = 4.294.967.296 caratteri diversi, in questo modo si riescono a codificare tutti gli alfabeti di tutte le lingue compreso il cinese, i geroglifici e l alfabeto cuneiforme. Poiché le esigenze degli alfabeti umani sono molto più basse degli oltre 4 miliardi di caratteri permessi, di fatto lo standard UCS-4 ha il 90% dei codici non assegnati.

Codifica Unicode La codifica Unicode Lo standard UCS-4 è compatibile con UCS-2 che a sua volta è compatibile con ASCII standard. Codifica del carattere A ASCII 65 UCS-2 0 65 UCS-4 0 0 0 65

Codifica UTF-8 La codifica UTF-8 Il problema principale dello standard UCS-4 è lo spazio occupato dai documenti. Infatti: se consideriamo un documento scritto solo con caratteri ASCII esso occuperà un certo spazio di memoria. Se il documento lo scriviamo con caratteri UCS-2 occuperà uno spazio doppio e se lo scriviamo con caratteri UCS-4 esso occuperà uno spazio quadruplo. Lo spazio in eccesso inoltre è costituito da bit tutti impostati a zero, quindi si tratta di spazio sprecato inutilmente.

Codifica UTF-8 La codifica UTF-8 Per ovviare al problema dello spreco di spazio e mantenere la compatibilità della trasmissione dei documenti, è stato introdotto il sistema UTF-8 (Unified o Universal Transformation Format a 8 bit). Lo standard UTF-8 codifica i caratteri usando una lunghezza variabile tra 1 e 4 byte (da 8 a 32 bit). UTF-8 (ed altre codifiche a lunghezza variabile) fanno comunque riferimento a UCS-4 che è la mappatura più completa e organizzata di tutti i caratteri di Unicode.

Codifica UTF-8 La codifica UTF-8 Se un carattere è rappresentabile in ASCII, allora la sua codifica UTF-8 rimane la stessa (un singolo byte). Se il carattere è rappresentabile in UCS-2 o UCS-4, allora la sua codifica UTF-8 sarà costituita da due o quattro byte, il primo dei quali specificherà la lunghezza della sequenza. In generale, se la codifica occupa n byte (2 n 6), allora il primo byte avrà i primi n bit impostati a 1, poi uno 0 ed infine i bit della rappresentazione del carattere.