999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于無損壓縮技術的文件壓縮與解壓系統

2020-11-16 02:11:06郝雪燕
數碼世界 2020年10期

郝雪燕

摘要:信息時代帶來了“信息爆炸”,海量數據的產生給系統運行帶來極大的壓力,僅僅依靠計算機的硬件設備漸漸有些難以容下海量數據文件,壓縮文件可以在一定程度上節約空間,以便使用者在有限的空間存儲更多的文件。數據組織方式不同,數據量不同,但是信息量基本相同,為了節省數據存儲空間或者提升信息的傳遞效率,把數據結構理論與算法應用到數據壓縮中,已經變得越來越重要。本文設計了一個基于無損壓縮技術的文件壓縮與解壓系統,經過測試,成功壓縮和還原了源文件,實現了預期目標。

關鍵字:無損壓縮;文件壓縮;解壓

引言

數據是信息的載體,數據壓縮是信息量基本不變的情況下,降低數據量的核心技術。所謂數據壓縮技術,顧名思義就是壓縮數據存儲占據的空間,以實現便于傳輸、處理以及節省儲存空間的目的。如果丟失個別的數據不會造成太大的影響,這時忽略它們是個好主意,這就是有損壓縮。有損壓縮廣泛應用于動畫、聲音和圖像文件中,典型的代表就是影碟文件格式MPEG、音樂文件格式MP3和圖像文件格式JPG。而無損壓縮是相對于有損壓縮來講的,無損壓縮方式的特點在于可以最大限度地保持數據的完整性。

數據壓縮技術主要通過以下兩種方式來實現:一種是壓縮數據空間;另一種是依靠算法實現原始數據的重整以精簡空間。數據壓縮技術本質上是一種編碼技術,換言之,是利用不同的數據組織方式表達相同的含義、攜載基本相同的信息量。從源文件到編碼文件的映射過程就是數據編碼,類似于文本、圖像、聲音等等形式的源文件在計算機中都是以二進制的形式存儲的,不同之處在于不同形式的源文件具體的二進制表示方法不同。

1 數據壓縮算法

無損數據壓縮適用于文本文件、數據庫、程序等數據壓縮, 其特點是數據經過壓縮和解壓后,可以完全與壓縮前的數據一樣。無損數據壓縮算法按照壓縮模型主要分為兩類:基于統計壓縮算法和基于字典壓縮算法?;诮y計壓縮算法主要包括:游程長度編碼、哈夫曼編碼、算術編碼;基于字典的壓縮算法主要包括:LZ77算法、LZ78算法、LZW算法和LZSS算法。就當前的技術而言,使用無損壓縮最大可以將數據文件的大小減少1/2-3/4。目前使用最為廣泛的壓縮技術是LZW和哈夫曼這兩大類壓縮算法,本文采用的是哈夫曼編碼技術。

哈夫曼編碼是最為傳統和典型的無損壓縮技術。算法的原理為:用二進制的方式來表示每一個符號,數據的長度表示為某些特殊符號出現的頻率次數。對于經常使用的符號,選擇的二進制就短一些,而一些使用頻率較低的符號則可以適當地加長。哈夫曼算法可以確保字符的二進制編碼情況已經將數據空間壓縮到極致,任何修改都難以對其空間進行進一步壓縮。但是該算法并沒有將符號之間的排列順序、重復出現等情況作為處理的重點。根據ASCII碼的規定,一個字符由8個比特表示,但是如果提前知道了文件中各個字符出現的頻率,就可以對這些字符重新編碼。

哈夫曼編碼的使用過程主要如下:第一步就是對整個原始文件進行掃描,統計每個字符的頻率,然后根據頻率建立哈夫曼樹,由哈夫曼樹構造得到每個字符的編碼。由于頻率高的字符在哈夫曼樹中離根更近,它們的哈夫曼編碼長度更短;相反,頻率低的字符的編碼更長。最后,用哈夫曼編碼替換原文件中的字符。

2 數據解壓算法

解壓是壓縮的逆過程,不同的壓縮算法對應特定的解壓算法,也就是說,數據是怎么壓縮的,那么就怎么解壓。因此,進行數據壓縮時就要提前考慮解壓的實現。比如,進行哈夫曼編碼壓縮數據時要使用一個哈夫曼樹將數據轉換為對應編碼,那么壓縮時就要存儲這顆編碼樹,解壓時根據存儲的信息重新構建出這顆編碼樹,將編碼轉換為對應的數據。在進行解壓時第一步就是從相應的文件中獲得數據壓縮時的一些重要信息,通過這些信息重現壓縮過程,然后推導出解壓步驟,完成數據的復原過程。

3 文件壓縮與解壓系統的設計

在研究過一些壓縮和解壓算法后,使用Java編程語言設計并實現了一個文件壓縮與解壓系統。本系統主要包括七個主要功能:

(1)前臺界面:給予用戶可視化界面,方便管理。

(2)解壓縮控制:控制文件的壓縮和解壓,如:一鍵解壓,一鍵壓縮等。

(3)文件控制:添加文件到某個壓縮包或在某個壓縮包內刪除某個文件。

(4)語言控制:用于各國語言和中文的轉換。

(5)搜索:在壓縮包里方便找到某個文件或文件夾。

(6)創建自解壓文件:有的時候,本項目更需要的是創建自解壓文件,這樣就可以隨時隨地地調用它,而不需要壓縮軟件的支持。創建自解壓文件的方法也很簡單,在設置壓縮文件屬性的圖2窗口的"General"頁面中,勾選"Create SFX archive"(創建自解壓文件),你會發現剛才的*.rar變成了*.exe。

(7)生成分卷自解壓文件 :在進行數據備份或大文件交換時,通常采取用壓縮軟件分卷壓縮到軟盤上的辦法,而在復原的時候則需要用到該壓縮軟件,否則這些壓縮文件便無法復原。 首先在主界面中選定欲壓縮的文件夾或文件,單擊鼠標右鍵,從快捷菜單中選"Add to Archive"命令,出現小窗口,先將壓縮文檔名稱填入,需要帶路徑(如A:\文件名)。然后從容量(Volume size)下拉菜單中選擇與軟盤對應的數值。有360KB、720KB、1.2MB、1.44MB、2.88MB和自動檢測六個備選項,也可以輸入自己設定的數值。在文檔選項區內選中"自解壓"(SFX archive)方式,最后單擊,則開始進行分卷壓縮,生成的第一個文件擴展名為.exe,第二個文檔擴展名為.r00,第三個為.r01,依此類推。復原時,先插入第一張軟盤,執行?.exe文件,隨后會提示依次插入其他軟盤,則順利地完成解壓縮。

4 測試

現在壓縮技術發展較好,也因此產生了很多性能非常好的壓縮軟件,如WinRAR、7 2、快壓、360壓縮和好壓等。這些壓縮軟件在壓縮率、壓縮時間和支持的文件格式等方面都有著不錯的表現。通過使用本文設計的基于無損壓縮技術的壓縮與解壓系統將一個由doc、xls、txt、pdf文件組成的大小為6.3MB的文件夾進行壓縮和解壓,分析程序可用性和實用性。經過測試發現,成功壓縮和還原了源文件,實現了預期目標。

5 結束語

本文對數據壓縮與解壓過程進行了簡單的論述,通過了解一些常用的壓縮算法,可以幫助理解數據壓縮與解壓的實現原理。目前數據壓縮算法多種多樣,在這些基礎算法上進行一些改進又可以產生很多不同的算法,例如可以改進壓縮鏈碼提高壓縮效率。常用的壓 縮軟件也是基于這些壓縮算法實現的,可以結合使用,算法的選擇會對系統最終的壓縮效果產生直接的影響。

參考文獻

[1]汪帥,呂江花,汪溁鶴等.一種支持數據去冗和擴容的多媒體文件云存儲系統實現[J].計算機研究與發展,2018,55(5):1034-1048.

[2]劉娜.淺談計算機中的字符編碼[J].科技創新與應用,2017(1):107-107.

[3]吳家安.數據壓縮技術及應用[M].北京:科學出版社,2008.

[8]苑思明,鄭晗,李俊杰.基于哈夫曼樹壓縮的加密技術[J].信息記錄材料,2018(6).

主站蜘蛛池模板: 2019国产在线| 国产成人高清精品免费| 欧美精品一区在线看| 很黄的网站在线观看| 午夜福利免费视频| 亚洲VA中文字幕| 久久无码高潮喷水| 国产亚洲精品yxsp| 国产精品林美惠子在线观看| 内射人妻无套中出无码| 久草性视频| 97久久精品人人| 国产成人高清精品免费软件| 亚洲一区黄色| 午夜福利视频一区| 亚洲综合二区| 久久福利网| 国产日韩精品欧美一区灰| 五月婷婷伊人网| 国模粉嫩小泬视频在线观看| 666精品国产精品亚洲| 国产午夜福利亚洲第一| 夜夜爽免费视频| 国产毛片高清一级国语| 国产成人精品在线1区| 亚洲无码高清视频在线观看| 日本免费一区视频| 久久久久久国产精品mv| 九九九国产| 无码中文字幕乱码免费2| 国产爽爽视频| 最新国产网站| 亚洲第七页| 在线日本国产成人免费的| 国产福利在线免费| 狂欢视频在线观看不卡| 日本高清视频在线www色| 看你懂的巨臀中文字幕一区二区| 中文字幕第1页在线播| www欧美在线观看| 青青青草国产| 日韩在线欧美在线| 人妻一本久道久久综合久久鬼色| 亚洲av无码久久无遮挡| 亚洲无码91视频| 97se亚洲综合| 亚洲精品777| 亚洲欧美国产视频| 色精品视频| 久久精品视频亚洲| 91毛片网| 天天躁狠狠躁| 青青草原国产免费av观看| 男女男免费视频网站国产| 综合五月天网| 国产麻豆精品久久一二三| 国产高清不卡视频| 国产精品亚洲va在线观看| 日韩欧美91| 四虎国产永久在线观看| 日本不卡视频在线| 在线免费观看a视频| 色妺妺在线视频喷水| 免费黄色国产视频| 国产尤物jk自慰制服喷水| 有专无码视频| 一级成人a做片免费| 欧美成一级| 国产激情影院| 国产免费自拍视频| 中文字幕天无码久久精品视频免费| 亚洲成网站| 成人第一页| 成人国内精品久久久久影院| 性做久久久久久久免费看| 亚洲第一av网站| a免费毛片在线播放| 园内精品自拍视频在线播放| 免费jjzz在在线播放国产| 亚洲天堂视频网站| 天天做天天爱天天爽综合区| 五月婷婷导航|