Che cos'è la compressione del codice?
Il codice del computer può essere considerato il DNA del mondo digitale: le linee di dati grezzi che compongono tutti i programmi, i file grafici e la musica digitale. Più è grande e complesso il file o l'applicazione, più codice contiene. Dati i limiti limitati dei dischi rigidi e di altri tipi di archiviazione dei dati, la compressione del codice viene spesso utilizzata per ridurre temporaneamente la dimensione dei file. Funziona utilizzando algoritmi speciali per rendere un pezzo di codice più piccolo un pezzo più grande. I dati possono essere compressi e non compressi in questo modo, purché un programma di compressione conosca l'algoritmo corretto per sbloccarlo.
La maggior parte delle persone che sanno come usare un computer hanno almeno una familiarità passeggera con il modo in cui i dati vengono archiviati, in termini di kilobyte, megabyte, gigabyte e così via. Ciò che potrebbero non capire è la relazione tra queste unità di misura e le parole, la grafica, la musica e i programmi che manipolano sullo schermo. Un singolo byte rappresenta un singolo carattere del testo ed è costituito da otto unità più piccole note come bit. I bit sono i componenti grezzi delle informazioni digitali e il modo in cui sono organizzati rende diverse lettere dell'alfabeto, numeri o altri tipi di caratteri.
Un programma di compressione del codice prende i bit e i byte che compongono un determinato file e li codifica in modo tale che uno o due caratteri della versione compressa rappresentino un numero maggiore dell'originale. I due principali tipi di compressione del codice sono noti come lossy e lossless . La compressione con perdita di dati può essere utilizzata nei casi in cui una perdita di dati è accettabile, ad esempio file musicali in cui alcune frequenze non sono necessarie. Fondamentalmente, un algoritmo con perdita di dati conta il numero di volte in cui una determinata sezione di dati viene riutilizzata in un file e genera un codice più piccolo che calcola quel numero. In genere, è possibile ottenere una compressione di dimensioni maggiori utilizzando questo metodo e il formato MP3 è un esempio di questo tipo di file compresso.
La differenza funzionale di base tra compressione con perdita e senza perdita è che con la compressione con perdita, i dati che non possono essere compressi vengono eliminati, mentre la compressione senza perdita lo mantiene, non compresso. Ciò porta a dimensioni di file compressi più grandi, ma a un mantenimento della qualità del file originale. I documenti di testo e altri file simili, in cui le informazioni non possono essere perse, devono essere compressi in questo modo.
In generale, un file compresso non può essere utilizzato o manipolato a meno che non sia prima decompresso. La compressione è uno stato temporaneo, quindi utilizzato principalmente per scopi di archiviazione o trasmissione. Ciò non si estende tuttavia ai file compressi di musica e video, per i quali esistono programmi che possono decodificare al volo, durante la riproduzione.