2014-11-17 61 views
-2

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

+0

我的問題有什麼問題告訴我未來。 – Lex

回答

0

您可以嘗試根據文本中出現的字符的概率,在壓縮文件中使用字符序列編寫頭文件。或者寫下這些字母,然後再寫下他們的概率。由此,您使用相同的過程來構建壓縮和解壓縮樹。至於如何構建樹本身,我想你必須做一點研究,如果有問題就回來。

1

您不需要傳輸概率或樹。所有的解碼器需要的是分配給每個符號的比特數,並且規定了將比特值分配給編碼器和解碼器同意的每個符號的規範方式。請參閱Canonical Huffman Code