簡體   English   中英

在霍夫曼壓縮后將代碼表存儲在壓縮文件中,並從該表中構建用於解壓縮的樹

[英]Storing table of codes in a compressed file after Huffman compression and building tree for decompression from this table

我當時正在使用C ++編寫霍夫曼壓縮程序,但遇到壓縮文件結構的問題。 它需要在我的新文件中存儲一些結構,以幫助我對該文件進行解碼。 我決定在此文件的開頭編寫一個代碼表,然后從該表構建一棵樹以解碼下一個內容,但是我不知道用哪種方式存儲該表會更好(我的意思是我不知道表的結構,我知道如何以二進制模式編寫內容)以及如何從此表構建樹。 對不起我的英語不好。 先感謝您。

您不需要傳輸概率或樹。 解碼器所需的全部就是分配給每個符號的位數,以及一種將編碼器和解碼器都同意的將位值分配給每個符號的規范方法。 參見規范霍夫曼代碼

您可以根據字符出現在文本中的可能性,嘗試使用字符序列在壓縮文件中寫入標頭。 或在字母后面加上概率。 這樣,您就可以使用相同的過程來構建用於壓縮和解壓縮的樹。 至於如何構建樹本身,我想您需要做一些研究,如果有問題請回來。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM