日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

壓縮原理初探

系統 2867 0

這里討論的僅僅是簡單的字符壓縮算法,對于更高級的文件壓縮便是無能為力了。

總步驟分為六步:

第一、 統計全文中各種字符出現的次數;

第二、 根據每個字符出現不同的次數富裕權值并由此建立哈弗曼樹;

第三、 根據哈夫曼樹來對全文中每個字符進行哈弗曼編碼;

第四、 將每個字符的哈弗曼編碼連續寫入,每8位截斷,并計算出這8個0,1字節串所對應的字符并以字符串的形式存儲編碼后的字符;

第五、 將最后的不足8位的位數補足并記錄補位的個數寫入到文件中

第六、? 將此哈弗曼樹存儲到文件末尾

?

將aaaaabbbbcccdde這段字符壓縮成字節數更小的一段編碼。

第一步:統計全文中各種字符出現的次數,

字符

a

b

c

d

e

出現次數

5

4

3

2

1

第二步:根據每個字符出現不同的次數富裕權值并由此建立哈弗曼樹


壓縮原理初探
?

?

第三步:哈弗曼樹建立以后則可根據哈夫曼樹來對全文中每個字符進行哈弗曼編碼;

在這里數叉左邊代表0右邊代表1;

字符

a

b

c

d

e

哈弗曼編碼

11

10

01

001

000

?

?第四步: 將每個字符的哈弗曼編碼連續寫入,每8位截斷,并計算出這8個0,1字節串所對應的字符并以字符串的形式存儲編碼后的字符;

?

aaaaabbbbcccdde這段字符用哈弗曼編碼表示則為111111111110101010010101001001000

這串01一共33位,則需要在后面補7個0再在最后記錄補了7個0即可

則這段編碼的對應的十進制編碼為-1 -22 -107 36 0 7最后這個7是記錄原編碼最后補了7個0的意思。

?

第五步:將這6個帶符號的數字存入文件中,以分隔符隔開,以便讀取的時候可以識別。

壓縮原理初探


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 万盛区| 乡城县| 饶阳县| 张家川| 光山县| 长武县| 丁青县| 道真| 尉犁县| 昌平区| 湘西| 米易县| 通化市| 清水县| 电白县| 庆云县| 平阳县| 潞西市| 诏安县| 高雄市| 南澳县| 扎赉特旗| 长岛县| 苗栗市| 河津市| 马鞍山市| 海口市| 博客| 铜陵市| 湘阴县| 汝阳县| 卓尼县| 静海县| 白沙| 张掖市| 南阳市| 东乡县| 杭锦后旗| 小金县| 利津县| 军事|