Vai al contenuto

Fondamenti di informatica - Laurea triennale Informatica/Rappresentazione delle informazioni mediante pattern di bit

Wikibooks, manuali e libri di testo liberi.
Indice del libro

Codifica del testo (caratteri)

[modifica | modifica sorgente]
  • Il testo viene rappresentato assegnando a ogni simbolo (lettere, cifre, punteggiatura, caratteri di controllo) un pattern di bit univoco.
  • In passato esistevano molti codici incompatibili; per ridurre i problemi di comunicazione, ANSI adottò ASCII, che usa 7 bit per simbolo (spesso esteso a 8 bit per adattarsi ai byte e offrire altri 128 simboli).
  • Le estensioni ISO di ASCII hanno migliorato il supporto per varie lingue europee, ma restavano limiti: pochi simboli disponibili per molte lingue (es. asiatiche) e difficoltà a mescolare più gruppi linguistici nello stesso documento.
  • Per superare questi ostacoli è nato Unicode (fino a 21 bit per simbolo) e, con UTF-8, mantiene la compatibilità con ASCII (caratteri “storici” in 8 bit) ma può rappresentare moltissimi altri caratteri con 16/24/32 bit a seconda del simbolo.
  • Distingue tra file di testo “puro” (solo caratteri) e file di word processor (che includono anche formattazione: font, allineamenti, ecc.).

Codifica dei numeri

[modifica | modifica sorgente]
  • Salvare numeri come testo è inefficiente: ad esempio “25” in ASCII richiede due byte (16 bit) e con 16 bit “testuali” si arriva al massimo a “99”.
  • Con la notazione binaria, gli stessi 16 bit possono rappresentare qualunque intero da 0 a 65535.
  • Per questo i computer memorizzano i numeri in forme di binario “ottimizzate”: ad esempio complemento a due per includere numeri negativi e floating point per numeri con parte frazionaria.
  • Cambiare base (binario, decimale, esadecimale) cambia solo la rappresentazione, non il valore matematico sottostante.
  • Questa parte sarà approfondita nei capitoli successivi

Codifica delle immagini

[modifica | modifica sorgente]
  • Un’immagine può essere vista come una griglia di pixel; codificando ogni pixel si ottiene una bitmap.
  • Per immagini bianco/nero basta 1 bit per pixel; per sfumature di grigio spesso 8 bit; per colori si usano tipicamente:
    • RGB: tre componenti (rosso, verde, blu), spesso 1 byte ciascuna3 byte per pixel.
    • Oppure modelli con luminanza (brightness) + due componenti di crominanza, nati anche per compatibilità con TV in bianco e nero (la luminanza da sola dà una versione in scala di grigi).
  • Limite delle bitmap: scalano male (ingrandendo si vedono “quadrettoni”, come lo “zoom digitale”).
  • Alternativa: descrivere l’immagine con strutture geometriche (vettoriale: linee, curve), che scalano bene. Esempi: TrueType per i font, PostScript, e sistemi CAD.
  • Alcuni programmi di disegno lavorano “in vettoriale” durante la creazione ma poi salvano solo la bitmap; se invece preservano le forme geometriche, le modifiche e il ridimensionamento restano semplici e nitidi.

Codifica dei suoni

[modifica | modifica sorgente]
  • Metodo generale: campionare l’ampiezza dell’onda sonora a intervalli regolari e registrare i valori.
  • Per la telefonia storicamente si usano circa 8000 campioni al secondo; per qualità CD si usa 44.100 campioni al secondo, con 16 bit per campione (e più dati per lo stereo), quindi l’audio “grezzo” occupa moltissimo spazio.
  • Alternativa: MIDI, che non registra l’onda sonora ma istruzioni (strumento, nota, durata). È molto più compatto: è come salvare lo spartito invece della performance; il risultato può variare a seconda del sintetizzatore usato.