28
Codifica dell'informazione testuale Presentazione 1.4 Architettura dell'informazione | Prof. Luca A. Ludovico

Codifica dell'informazione testuale

  • Upload
    jaeger

  • View
    94

  • Download
    0

Embed Size (px)

DESCRIPTION

Presentazione 1.4. Codifica dell'informazione testuale. Architettura dell'informazione | Prof. Luca A. Ludovico. Informazione testuale. Obiettivo: definire e descrivere i principali formati di file per la codifica di informazione testuale - PowerPoint PPT Presentation

Citation preview

Page 1: Codifica dell'informazione testuale

Codifica dell'informazione testuale

Presentazione 1.4

Architettura dell'informazione | Prof. Luca A. Ludovico

Page 2: Codifica dell'informazione testuale

Architettura dell'informazione Prof. Luca A. Ludovico

Informazione testuale

• Obiettivo: definire e descrivere i principali formati di file per la codifica di informazione testuale

• Solo testo semplice? Non necessariamente: sia nell’editoria tradizionale sia in quella digitale, i testi possono essere arricchiti da informazione ulteriore:– Aspetti di formattazione (tipo e dimensione del carattere, colore

del testo, …) e di layout (margini, disposizione del testo in colonne, …)

– Aggiunta di immagini, grafici, formule matematiche, collegamenti ipertestuali, suoni, …

– Strutturazione logica del documento (titoli di vario livello, citazioni, …)

Page 3: Codifica dell'informazione testuale

Testo sempliceParte 1

Page 4: Codifica dell'informazione testuale

Architettura dell'informazione Prof. Luca A. Ludovico

Testo semplice (plain text)

• Il formato più semplice per codificare testo digitale è il cosiddetto testo semplice, o plain text

• Si tratta del contenuto di un file binario interpretabile come materiale testuale semplicemente traducendo la codifica dei caratteri uno ad uno, senza ricorrere a ulteriori elaborazioni

• La codifica storicamente ha utilizzato i caratteri della tabella ASCII e i suoi derivati

Page 5: Codifica dell'informazione testuale

Architettura dell'informazione Prof. Luca A. Ludovico

ASCII

• L’American Standard Code for Information Interchange (pronuncia fonetica: /ˈæski/ ass-kee) è uno schema di codifica dei caratteri basato originariamente sull’alfabeto inglese

• La standardizzazione trae origine dal mondo dei codici telegrafici, e ha inizio nel 1960 presso i laboratori Bell. I codici telegrafici vengono migliorati per quanto riguarda l’ordine dei caratteri e il supporto di caratteristiche superiori rispetto alle telescriventi dell’epoca

• Al giorno d’oggi si utilizzano schemi estesi con un maggior numero di caratteri (si veda ad es. l’UTF-8 più avanti), ma spesso basati sulla codifica ASCII

Page 6: Codifica dell'informazione testuale

Architettura dell'informazione Prof. Luca A. Ludovico

ASCII

• ASCII utilizza una codifica a 7 bit. Ne consegue la possibilità di rappresentare 27 diverse combinazioni di caratteri binari {0000000..1111111}2 = {0..127}10

• ASCII fornisce la definizione di 128 caratteri: – 33 caratteri di controllo non stampabili (parecchi obsoleti) che

riguardano il controllo dei dispositivi di stampaAd esempio, il carattere 8 è il backspace mentre il 10 rappresenta la funzione "line feed“, che provoca l’avanzamento della carta in una stampante

– 95 caratteri stampabili, tra cui le cifre 0..9, le lettere minuscole a..z e le corrispettive maiuscole A..Z, comuni segni di punteggiatura e il carattere spazio (segno grafico invisibile)

Page 7: Codifica dell'informazione testuale

ASCII

Tabella dei codici ASCII a 7 bit {0..127}

Page 8: Codifica dell'informazione testuale

Architettura dell'informazione Prof. Luca A. Ludovico

Esempio di file TXT

• Creiamo un file di testo contenente la stringa:Ciao alunni!

• Una volta salvato, ha dimensione 12 Byte = 12 · 8 bit – Coerente con la codifica ASCII estesa, in quanto il file

contiene 12 caratteri da 8 bit ciascuno

• Apriamo il file con un viewer esadecimale– Ad esempio, si può sfruttare il servizio on-line gratuito

offerto da http://webhex.net/43 69 61 6F 20 61 6C 75 6E 6E 69 21

C i a o a l u n n i !

Page 9: Codifica dell'informazione testuale

ASCII esteso

Aggiungendo un ottavo bit, si raddoppia lo spazio di indirizzamento e di conseguenza il numero di caratteri rappresentabili.Alla tabella precedente {0..127} si aggiungono i caratteri qui mostrati {128..255}

Page 10: Codifica dell'informazione testuale

Architettura dell'informazione Prof. Luca A. Ludovico

Curiosità: ASCII art

• L’ASCII art è una tecnica grafica per la creazione di immagini facendo uso di combinazioni opportune dei 95 caratteri stampabili ASCII

• Un’opera in ASCII art può essere creata con qualsiasi editor di testo semplice

• La maggior parte degli esempi richiede per la visualizzazione l’adozione di un font monospaziato, quale il Courier– In un font monospaziato, ogni carattere tipografico occupa un

ugual numero di punti, che sia “largo” (ad esempio “m”) o stretto (ad esempio “l”)

Page 11: Codifica dell'informazione testuale

Architettura dell'informazione Prof. Luca A. Ludovico

Emoticon e smiley

• Sono le forme più semplici di ASCII art: combinazioni di pochi caratteri, convenzionalmente usate per esprimere emozioni all’interno di messaggi di testo semplice – SMS, applicazioni di messaggistica istantanea, …

:-) :-( :’( :D =D

• Al contrario, i kaomoji o ASCII face non richiedono la rotazione mentale dell’immagine

(O.O) (-.-') (>.<)

Page 12: Codifica dell'informazione testuale

Esempio

htt

p:/

/uplo

ad.w

ikim

edia

.org

/wik

ipedia

/com

mons/

4/4

a/W

ikip

edia

-Asc

ii.png

Page 13: Codifica dell'informazione testuale

Architettura dell'informazione Prof. Luca A. Ludovico

ASCII art converter

Esempio di software di conversione online (gratuito): http://picascii.com/

Esempi di conversione: http://www.text-image.com/samples.html

Page 14: Codifica dell'informazione testuale

Architettura dell'informazione Prof. Luca A. Ludovico

Evoluzioni dell’ASCII: ISO/IEC 8859

• Standard per la codifica di caratteri ad 8 bit per il trattamento informatico di testi. La norma è divisa in parti numerate pubblicate separatamente (ISO/IEC 8859-1, ISO/IEC 8859-2, etc), ognuna delle quali può essere considerata standard a sé stante. Ci sono attualmente 15 parti definite, escludendo la ISO/IEC 8859-12, abbandonata.

• Idea: usando l'ottavo bit del byte, si definiscono altri 128 caratteri rispetto ad ASCII. Vengono dunque sviluppate diverse mappe di caratteri, in cui i 128 caratteri aggiuntivi si fanno corrispondere a simboli differenti a seconda della mappa– Una decina di mappe copre le sole lingue latine

Page 15: Codifica dell'informazione testuale

Comparazione tra le parti di ISO 8859

Binario Oct Dec Hex 1 2 3 4 5 6 7 8 9 10 11 13 14 15 16

1010 0000 240 160 A0 Non-breaking space (NBSP)

1010 0001 241 161 A1 ¡ Ą Ħ Ą Ё   ‘   ¡ Ą ก ” Ḃ ¡ Ą

1010 0010 242 162 A2 ¢ ˘ ĸ Ђ   ’ ¢ ¢ Ē ข ¢ ḃ ¢ ą

1010 0011 243 163 A3 £ Ł £ Ŗ Ѓ   £ Ģ ฃ £ Ł

1010 0100 244 164 A4 ¤ Є ¤ € ¤ Ī ค ¤ Ċ €

1010 0101 245 165 A5 ¥ Ľ   Ĩ Ѕ   ₯ ¥ Ĩ ฅ „ ċ ¥ „

1010 0110 246 166 A6 ¦ Ś Ĥ Ļ І   ¦ Ķ ฆ ¦ Ḋ Š

1010 0111 247 167 A7 § Ї   § ง §

1010 1000 250 168 A8 ¨ Ј   ¨ Ļ จ Ø Ẁ š

1010 1001 251 169 A9 © Š İ Š Љ   © Đ ฉ ©

1010 1010 252 170 AA ª Ş Ē Њ   ͺ × ª Š ช Ŗ Ẃ ª Ș

1010 1011 253 171 AB « Ť Ğ Ģ Ћ   « Ŧ ซ « ḋ «

1010 1100 254 172 AC ¬ Ź Ĵ Ŧ Ќ ، ¬ Ž ฌ ¬ Ỳ ¬ Ź

1010 1101 255 173 AD soft hyphen (SHY) ญ SHY

1010 1110 256 174 AE ® Ž   Ž Ў     ® Ū ฎ ® ź

1010 1111 257 175 AF ¯ Ż ¯ Џ   ― ¯ Ŋ ฏ Æ Ÿ ¯ Ż

1011 0000 260 176 B0 ° А   ° ฐ ° Ḟ °

1011 0001 261 177 B1 ± ą ħ ą Б   ± ą ฑ ± ḟ ±

Page 16: Codifica dell'informazione testuale

Architettura dell'informazione Prof. Luca A. Ludovico

Evoluzioni dell’ASCII: Unicode

• Unicode è un sistema di codifica che assegna un numero univoco ad ogni carattere usato per la scrittura di testi, in maniera indipendente dalla lingua, dalla piattaforma informatica e dal programma utilizzato

• Unicode incorpora, nella primissima parte, la codifica ISO/IEC 8859-1, ma va molto oltre, codificando i caratteri usati in quasi tutte le lingue vive e in alcune lingue morte, nonché simboli matematici e chimici, cartografici, l'alfabeto Braille, ideogrammi ecc.

• Il codice assegnato al carattere viene rappresentato con U+, seguito dalle quattro (o sei) cifre esadecimali del numero che lo individua

– Esempio: in Windows, si apra Mappa caratteri relativa al font Times New Roman

Page 17: Codifica dell'informazione testuale

Architettura dell'informazione Prof. Luca A. Ludovico

Evoluzioni dell’ASCII: Unicode

• Unicode è un sistema di codifica che assegna un numero univoco ad ogni carattere usato per la scrittura di testi, in maniera indipendente dalla lingua, dalla piattaforma informatica e dal programma utilizzato

• Il codice assegnato al carattere viene rappresentato con U+, seguito dalle quattro (o sei) cifre esadecimali del numero che lo individua

• Unicode incorpora, nella primissima parte, la codifica ISO/IEC 8859-1, ma va molto oltre, codificando i caratteri usati in quasi tutte le lingue vive e in alcune lingue morte, nonché simboli matematici e chimici, cartografici, l'alfabeto Braille, ideogrammi ecc.

Page 18: Codifica dell'informazione testuale

Architettura dell'informazione Prof. Luca A. Ludovico

UTF-8

• UTF-8 (Unicode Transformation Format, 8 bit) è una codifica dei caratteri Unicode in sequenze di lunghezza variabile di byte

• UTF-8 usa da 1 a 4 byte per rappresentare un carattere Unicode. Per esempio un solo byte è necessario per rappresentare i 128 caratteri dell'alfabeto ASCII, corrispondenti alle posizioni Unicode da U+0000 a U+007F.

• La IETF (Internet Engineering Task Force) richiede che tutti i protocolli Internet identifichino la codifica dei caratteri utilizzata, e che siano in grado di utilizzare UTF-8

Page 19: Codifica dell'informazione testuale

Architettura dell'informazione Prof. Luca A. Ludovico

Codifica dei caratteri in UTF-8

• Quanti caratteri differenti si possono rappresentare in UTF-8?In teoria 232 = 4.294.967.296 = circa 4 miliardi

• In realtà le sequenze di byte godono di queste proprietà:– Il bit più significativo di ogni sequenza composta di un singolo byte è sempre 0.– I bit più significativi del primo di una sequenza di più byte indicano la

lunghezza della sequenza. Questi bit sono 110 per le sequenze di due byte, e 1110 per quelle di tre.

– I byte successivi al primo in una sequenza composta da più byte hanno sempre 10 come bit più significativi

• UTF-8 è stato progettato per soddisfare queste tre proprietà, in modo da garantire che nessuna sequenza di byte corrispondente a uno specifico carattere sia contenuta in una sequenza più lunga, usata per codificare un carattere diverso.

Page 20: Codifica dell'informazione testuale

Testo formattatoParte 2

Page 21: Codifica dell'informazione testuale

Architettura dell'informazione Prof. Luca A. Ludovico

Plain text vs. styled (rich) text

• Secondo lo standard Unicode, esistono due proprietà che permettono di distinguere immediatamente il testo semplice da quello formattato:

1. Il testo semplice è il contenuto cui si può applicare la formattazione«Plain text is the underlying content stream to which formatting can be applied»

2. Il testo semplice è pubblico, standard e universalmente leggibile«Plain text is public, standardized, and universally readable»

Page 22: Codifica dell'informazione testuale

Architettura dell'informazione Prof. Luca A. Ludovico

Rich Text Format (RTF)

• Formato proprietario per documenti multipiattaforma, sviluppato nel 1981 e perfezionato nel 1987 da Microsoft

• La maggior parte degli editor di testo e dei word processor disponibili per Microsoft Windows, Mac OS e Linux sono in grado di leggere e scrivere documenti RTF → interoperabilità (anche se è un formato proprietario e mai standardizzato, spesso «protetto» da Microsoft contro i concorrenti)

• Un documento RTF è un file ASCII con stringhe di comandi speciali in grado di controllare le informazioni riguardanti la formattazione del testo: il tipo di carattere e il colore, i margini, i bordi ecc.

Page 23: Codifica dell'informazione testuale

Architettura dell'informazione Prof. Luca A. Ludovico

Caratteristiche supportate in RTF

• Immagini: JPEG, Portable Network Graphics (PNG), Enhanced Metafile (EMF), Windows Metafile (WMF), Apple PICT, Windows bitmap

• Oggetti disegnati: rettangoli, ellissi, ecc.

• Font: inclusione di font specifici (spesso non gestita dai software) e di generiche famiglie di font per le sostituzioni: roman (serif), swiss (sans-serif), modern (monospace), ecc.

• Commenti e metadati (titolo, autore, …)

Page 24: Codifica dell'informazione testuale

Architettura dell'informazione Prof. Luca A. Ludovico

Un semplice esempio RTF

{ \rtf Ciao!\par Ecco del testo in {\b grassetto}.\par }

Ciao!Ecco del testo in grassetto.

•La barra rovesciata (backslash) indica l'inizio di un codice di comando RTF•Il comando \par introduce una nuova riga•Il comando \b attiva il testo in grassetto•Le parentesi graffe { e } definiscono un gruppo per limitare il raggio d'azione di un comando •Tutto il resto viene trattato come testo semplice o da formattare

•Un documento RTF valido è un gruppo il cui primo comando è \rtf

Page 25: Codifica dell'informazione testuale

Architettura dell'informazione Prof. Luca A. Ludovico

Markup (vedi prossima lezione)

• Un linguaggio di marcatura (markup) è un insieme di regole (convenzioni) che descrivono i meccanismi di rappresentazione di un testo. Un file in un linguaggio di marcatura contiene dati testuali e metadati strutturali, semantici o presentazionali.

• Situazione ambigua: – i file contenenti markup generalmente sono considerati

plain text in quanto contengono testo semplice (anche i marcatori sono espressi in testo semplice)

– però contengono anche informazione di formattazione (si pensi ad HTML e RTF)

Page 26: Codifica dell'informazione testuale

Conclusioni

Page 27: Codifica dell'informazione testuale

Architettura dell'informazione Prof. Luca A. Ludovico

Il plain text nelle definizioni Unicode

Plain text represents the basic, interchangeable content of text.

Plain text represents character content only, not its appearance.

It can be displayed in a variety of ways and requires a rendering process to make it visible with a particular appearance.

If the same plain text sequence is given to disparate rendering processes, there is no expectation that rendered text in each instance should have the same appearance. Instead, the disparate rendering processes are simply required to make the text legible according to the intended reading.

The relationship between appearance and content of plain text may be summarized as follows: Plain text must contain enough information to permit the text to be rendered legibly, and nothing more.

Page 28: Codifica dell'informazione testuale

Architettura dell'informazione Prof. Luca A. Ludovico

Contesti d’uso

• Indipendenza da software e architetture HW– I file plain text si possono aprire, leggere e modificare con

numerosissime applicazioni, tra cui Notepad (Windows), edit (DOS), ed, emacs, vi, vim, Gedit or nano (Unix, Linux), SimpleText (Mac OS) e TextEdit (Mac OS X).

• Uso radicato per alcune applicazioni, quali i file di configurazione e di avvio, la posta elettronica e i web browser testuali (ad es. Lynx)

• Scrittura di codice sorgente (istruzioni) nei linguaggi di programmazione ad alto livello (ad es. C++, Java, HTML)