2013-04-28 85 views
0

我有一個簡單的程序,它在輸入一個包含字符串「Hello world」的TXT文件。我只是想壓縮這個文件來獲得內存空間。爲此,我編碼了huffman算法。我的程序可以打開目標文件,並用字符'0'和'1'記錄編碼後的字符串(Hello world)。但是,我想創建一個輸出文件,其中將包含二進制代碼(但是,當然,不包含字符)。但我不知道該怎麼做。有人可以幫我嗎?如何使用霍夫曼編碼算法構建輸出編碼文件?

在此先感謝您的幫助。

+0

你在用什麼語言進行編程? – NickSlash 2013-04-28 18:43:58

+0

我的程序是用C++編寫的 – user1364743 2013-04-28 18:54:44

回答

0

我不能給你任何的例子,因爲我不知道C++和大部分事情我已經做二進制失敗..

你的函數的輸出應該是8的倍數(因爲有8在一個字節中的位)

你需要遍歷你的輸出將每個8位轉換成一個字節(char)。修改你的編碼函數爲你完成這一步可能會更好,緩衝輸出。

保存時,您可能需要強制使用endian(例如:將其編碼爲big-endian),以便稍後您讀取和解碼數據時,您將知道它的編碼方式。