CIao a tutti, vi presento un problema che mi affligge riguardo l'implementazione dell' algoritmo di compressione / decompressione LZW.
Tale programma prende in ingresso un file di testo, lo comprime con tale algoritmo e ne restituisce un file di testo compresso. Poi, successivamente, riprende quest' ultimo file e lo decomprime per controllare che le azioni di compressione / decompressione non portino a una perdita di informazioni.
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, ma non riesco a capire come posso risolverlo. Ringrazio chiunque voglia darmi un aiuto a capire come uscire da questa cosa.
Per programmare sono sotto ambiente mac osx 10.9 e uso semplicemente un editor di testo per fare il programma e la riga di comando da terminale per compilare ed eseguire. Non è richiesto l'implementazione di grafica.
Grazie a tutti quelli che vorranno aiutarmi
Tale programma prende in ingresso un file di testo, lo comprime con tale algoritmo e ne restituisce un file di testo compresso. Poi, successivamente, riprende quest' ultimo file e lo decomprime per controllare che le azioni di compressione / decompressione non portino a una perdita di informazioni.
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, ma non riesco a capire come posso risolverlo. Ringrazio chiunque voglia darmi un aiuto a capire come uscire da questa cosa.
Per programmare sono sotto ambiente mac osx 10.9 e uso semplicemente un editor di testo per fare il programma e la riga di comando da terminale per compilare ed eseguire. Non è richiesto l'implementazione di grafica.
Grazie a tutti quelli che vorranno aiutarmi