Classe che contiene le funzioni di codifica e decodifica dell'algoritmo Lempel-Ziv-Welch.
private static void scrivi( |
| ) |
Funzione che prende in input un byte e lo scrive nel file di destinazione.
private static void adattaEScrivi( |
| ) |
Questa funzione prende in input un primo long a e un secondo long length e scrive una sequenza di bit, di lunghezza length e conservata in a, nel file di destinazione a gruppi di 8 bit alla volta. Se l'ultimo gruppo ha meno di 8 bit viene salvato e caricato nel file alla succesiva chiamata di questa funzione.
See also: scrivi
private static byte iBitInverse( |
| ) |
Questa funzione prende in input un long x, un int i e un long length e restituisce l' i -esimo bit (contando da sinistra verso destra) della sequenza di bit di lunghezza length e conservata in x.
Prepara il programma all'esecuzione della codifica o della decodifica del file.
public static void code( |
| ) throws IOException |
Funzione di codifica del file che applica l'algoritmo LZW.
See also: decode
private static int adattaELeggi( |
| ) throws IOException |
Questa funzione prende in input un long, che determina il numero di bit da leggere (partendo dal primo bit non letto) dell'array di byte buffer, e restituisce il valore decimale di tale sequenza di bit. La posizione del primo bit non ancora letto viene salvata nelle variabili contaBit e cont.
private static void output( |
| ) |
Questa funzione prende in input una stringa s, coverte i suoi caratteri in byte e li carica uno alla volta nel file di destinazione.
See also: scrivi
public static void decode( |
| ) throws IOException |
Funzione di decodifica del file che applica l'algoritmo LZW.
See also: code