bonjour
comment fait t on le decodage de huffman
par exemple java coder par 100110
Comment fait t'on pour connaitre le nombre de bit utilisé par chaque lettre?
le reste est facile si on connait sa








bonjour
comment fait t on le decodage de huffman
par exemple java coder par 100110
Comment fait t'on pour connaitre le nombre de bit utilisé par chaque lettre?
le reste est facile si on connait sa









Le choix du code est tel qu'il n'y a pas d'ambiguité.Envoyé par harris_macken








j ai pas compris ta reponse peut tu etre plus explicite s il te plait
merci
Ca veut dire qu'il n'y a pas plusieurs comprehensions du texte possible.
par exemple :
si A = 10
B = 00
C = 100
D = 01111
E = ...
Si le code commence par :
1000....
Tu ne sais pas si c'est:
10-00 ou 100-0qqch d'autres dans le code.
Ensuite, ça dépend si tu prends un codage de huffman fixe (par exemple basé sur les fréquences d'apparitions des lettre ds la langues françaises), ou bien un codage qui change à chaque fois. Dans ce cas, il te faudra reconstruire l'arbre de codage pour chaque fichier. Mais cherche sur google, il y aura des schéma plus explicite que des mots.
Edit : matte le lien donné par progfou









Ca fait suite à ce post je suppose :
http://www.developpez.net/forums/sho...d.php?t=220523
Merci de le mettre à la suite la prochaine fois...
Pour ta question, quand tu as constitué le code, en choisissant la lettre et le code binaire correspondant, il te faut envoyer le doctionnaire ainsi constitué, avec le texte codé, afin que le décodeur sache reprendre le code binaire et l'associer à la bonne lettre.
Le lien qui a été donné sur l'autre message que tu as posté me semble particulièrement explicite et suffisant.
http://tcharles.developpez.com/Huffman/








Justement progfu ma difficulter est que je me demande comment realiser l'algorithme:
exemple
Java : 100110
Dictionnaire
A=0
J=10
V=11
faut il essayer toute les combinaison possible de mes lettres du dictionnaires et trouver la combinaison qui correspond a java ??
dans ce cas j imagine que pour un texte avec 256 lettre sa serait exponentielle









Tu as juste à lire ton flux binaire au fur et à mesure, bit à bit, et comparer avec le dico.
Dans ton cas :
1 => pas connu
10 => J - réinitialisation
0 => A - réinitialisation
1 => pas connu
11 => V - réinitialisation
0 => A
Et voilà.
Avec ça, plus le lien, si tu le lis, ça doit largement suffire.
Partager