Che cos’è la compressione del codice?

Il codice del computer può essere considerato il DNA del mondo digitale: le linee grezze di dati che compongono tutti i programmi, i file grafici e la musica digitale. Più grande e complesso è il file o l’applicazione, più codice contiene. Date le limitate limitazioni dei dischi rigidi e di altri tipi di archiviazione dei dati, la compressione del codice viene spesso utilizzata per ridurre temporaneamente le dimensioni dei file. Funziona utilizzando algoritmi speciali per fare in modo che un pezzo di codice più piccolo rappresenti 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 usare un computer ha almeno una certa familiarità con il modo in cui i dati vengono archiviati, in termini di kilobyte, megabyte, gigabyte e così via. Quello che potrebbero non capire è la relazione tra queste unità di misura e le parole, la grafica, la musica e i programmi reali che manipolano sullo schermo. Un singolo byte rappresenta un singolo carattere di testo ed è esso stesso composto da otto unità più piccole note come bit. I bit sono i componenti grezzi delle informazioni digitali e il modo in cui sono disposti crea diverse lettere dell’alfabeto, numeri o altri tipi di caratteri.

Un programma di compressione del codice prende i bit ei byte che compongono un dato file e li codifica in modo 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 certa perdita di dati è accettabile, come i 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 una parte di codice più piccola 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 scartati, mentre la compressione senza perdita li mantiene, non compressi. Ciò porta a dimensioni di file compressi più grandi, ma a mantenere la 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 venga prima decompresso. La compressione è uno stato temporaneo, quindi utilizzato principalmente per scopi di archiviazione o trasmissione. Tuttavia, questo non si estende ai file musicali e video compressi, per i quali esistono programmi in grado di decodificare al volo, durante la riproduzione.