
Python 實(shí)現(xiàn)文件壓縮與解壓縮培訓(xùn)
課程將借助Huffman編碼樹給被壓縮的文件生成相應(yīng)的Huffman編碼,
然后對文件進(jìn)行壓縮,生成相應(yīng)的壓縮文件并對其實(shí)現(xiàn)解壓操作。
通過本課程的學(xué)習(xí),
讓你全面認(rèn)識Huffman編碼樹,
并且能夠借助Huffman編碼樹進(jìn)行實(shí)踐問題,
除了本課的解壓縮文件之外,
還可以嘗試去解決電話區(qū)號的分配等問題。
huffman 編碼樹的建立
1 文件的二進(jìn)制讀寫
2 使用 Huffman 編碼進(jìn)行解碼(解壓縮文件)
3 huffman 編碼樹分配 huffman 編碼
4 使用 Huffman 編碼進(jìn)行編碼(壓縮文件)
1
實(shí)現(xiàn)Huffman編碼樹
1.huffman編碼樹的建立
2.huffman編碼樹分配huffman編碼
2
Huffman編碼進(jìn)行文件的壓縮和解壓縮
1.文件的二進(jìn)制讀寫
2.使用Huffman編碼進(jìn)行編碼(壓縮文件)
3.使用Huffman編碼進(jìn)行解碼(解壓縮文件)
1 創(chuàng)建 Huffman 編碼樹類
2 以二進(jìn)制文件讀取被壓縮文件,統(tǒng)計(jì)里面 ASCII 碼中各個字符出現(xiàn)的頻率
3 根據(jù)步驟 2 中獲取到的各個字符出現(xiàn)的頻率,建立相應(yīng)的編碼樹,然后為每個字符分配相應(yīng)的 huffman 編碼
4 將原文件的 ASCII 碼出現(xiàn)的次數(shù)在壓縮被壓縮文件之前,都保存到壓縮文件的開始部分,方便解壓縮的時(shí)候根據(jù)這個信息進(jìn)行 Huffman 編碼樹的重建
5 使用 Huffman 編碼對文件進(jìn)行編碼
6 將壓縮文件中的 ASCII 碼出現(xiàn)的次數(shù)都提取出來,然后根據(jù)這個 ASCII 碼出現(xiàn)的次數(shù)信息重建 Huffman 編碼樹
7 使用步驟 6 中重建的 Huffman 編碼樹,進(jìn)行壓縮文件的解壓縮操作
