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).

主站蜘蛛池模板: 亚洲制服中文字幕一区二区| 经典三级久久| 亚洲黄网视频| 国产成人亚洲无码淙合青草| 夜夜操国产| 午夜国产大片免费观看| 久久久噜噜噜久久中文字幕色伊伊 | 热伊人99re久久精品最新地| 免费一级全黄少妇性色生活片| 在线综合亚洲欧美网站| 成人噜噜噜视频在线观看| 午夜福利视频一区| 亚洲国产中文在线二区三区免| 91麻豆精品国产91久久久久| 日韩在线2020专区| 久久香蕉欧美精品| 亚洲一区第一页| 欧美在线视频不卡第一页| 麻豆AV网站免费进入| a毛片免费观看| 谁有在线观看日韩亚洲最新视频| 亚洲欧洲日本在线| 伊人激情久久综合中文字幕| 小13箩利洗澡无码视频免费网站| 亚洲日韩精品伊甸| 一本二本三本不卡无码| 欧美成人第一页| 91精品国产丝袜| 无码一区18禁| 天天色天天综合| 国产成人综合日韩精品无码首页| 热99精品视频| 久久黄色视频影| 国产无码高清视频不卡| 9999在线视频| 国产尹人香蕉综合在线电影| 国产乱人伦AV在线A| 久久香蕉国产线看观| 精品视频91| 国产h视频免费观看| 99视频在线精品免费观看6| 色天堂无毒不卡| 欧美在线精品一区二区三区| 亚洲 成人国产| 色综合久久综合网| 日韩精品毛片| 国产成人综合网在线观看| 日本免费福利视频| 国产精品观看视频免费完整版| 欧美一区二区啪啪| 久久精品免费看一| 久久久久国产一级毛片高清板| 亚洲第一在线播放| 无码专区在线观看| 9久久伊人精品综合| 亚洲h视频在线| 精品一区二区三区水蜜桃| 日韩不卡免费视频| 国产精品视频猛进猛出| 精品国产网| 亚洲一级毛片| 国产在线无码一区二区三区| 亚欧美国产综合| 日韩高清成人| 22sihu国产精品视频影视资讯| 一本久道热中字伊人| 国产AV无码专区亚洲A∨毛片| 亚洲综合久久一本伊一区| 亚洲成人在线免费| 成人毛片免费在线观看| 国产剧情一区二区| 国产91小视频| 欧美日韩一区二区三| 成人91在线| 精品国产乱码久久久久久一区二区| 欧美一级99在线观看国产| 日本亚洲成高清一区二区三区| 亚洲人成网址| 日本成人不卡视频| 国产乱人伦精品一区二区| 亚洲精品动漫| 就去吻亚洲精品国产欧美|