Pesquisar na Comunidade
Mostrando resultados para as tags ''Huffman''.
Encontrado 2 registros
-
Olá Estou com um probleminha no meu código de compressão de huffman, então, se alguém puder me ajudar, fico grato. :) No meu programa, eu substituo os 8 bits originais dos caracteres que mais aparecem em uma quantidade de bits menor, que seria o código do caractere. Na hora de salvar o arquivo comprimido, o programa ajunta vários bits, que são os caracteres codificados. Ele vai ajuntando até inteirar 8 bits, e assim eu posso usar esses bits pra salvar um caractere no arquivo comprimido. Acontece que, nesse processo todo, acaba que esses 8 bits sejam exatamente: 00011010 , que é o caractere 26, ou o caractere '\EOF'. Com isso, ocasionalmente, no meio do arquivo comprimido tem lá no meio dele o '\EOF', e quando o programa lê o arquivo comprimido pra fazer a descompressão, quando ele se depara com esse caractere, ele acha que o arquivo acabou! E então ele para de descomprimir. Gostaria de saber se alguém tem alguma ideia de como eu possa resolver isso, seja forçando o comando fscanf a ler o '\EOF' e seguir com o arquivo; ou alguma forma do programa identificar que ele estaria salvando o caractere '\EOF', lá na hora de comprimir. Eu já tentei resolver isso usando uma sequencia de bits pra ser inserida antes do 00011010, e quando essa sequencia de bits fosse lida, o programa poderia identificar que o que vem depois era o '\EOF'. Assim eu n precisaria salvar o caractere '\EOF' no arquivo comprimido, só a sequencia de bits já bastaria pro programa entender que o caractere devia estar ali. Mas isso não deu certo. :( Obrigado pela ajuda, desde já. Qualquer coisa eu posto o código do programa que eu tenho aqui.
-
Moderação, me desculpe, acabei enviando dois tópicos iguais, sem querer. Podem fechar ou excluir esse aqui. :(