Quote Originariamente inviata da xarisaris Visualizza il messaggio
riprende quest' ultimo file e lo decomprime per controllare che le azioni di compressione / decompressione non portino a una perdita di informazioni.
LZW per definizione è lossless, ovvero non "perde" informazioni. Se dovesse perdere qualcosa .... è perché l'hai implementato male tu.

Quote Originariamente inviata da xarisaris Visualizza il messaggio
Ora, il codice l'ho già implementato e funziona, il problema nasce quando inizializzo il dizionario, il quale mi crea un array di 256 elementi che dovrebbe contenere i 256 caratteri dell' ASCII esteso. Per meglio dire, lui crea in maniera corretta i primi 127 elementi e i restanti sono simboli errati ergo, se letti dal file di testo, mi restiuisce in uscita una variabile null che blocca il programma.

Ora, secondo me il problema nasce dal tipo di charset usato
Più che in termini di caratteri, sarebbe forse meglio ragionare in termini di byte. Questo infatti è l'uso e approccio tipico di LZW, ovvero comprimere sequenze di byte.
Poi certo, da stringa a sequenza di byte e viceversa centra il charset .... ma è un altro discorso a parte.