簡體   English   中英

將霍夫曼編碼寫回文件

[英]writing huffman encoding back to a file

我正在編寫一個霍夫曼編碼程序來壓縮文本文件。 我將文本文件轉換為其霍夫曼編碼值,需要將其寫入文件。問題是我無法識別被寫回文件的文本。

注意:我有霍夫曼樹。我的文本編輯器無法識別回寫的編碼

在寫入壓縮數據之前,您還需要寫出霍夫曼樹。 解壓縮時,必須先讀取並重建第一棵樹,然后再遍歷該樹來解壓縮文本。 對於小文件,由於此樹,壓縮文件實際上可能更大..

霍夫曼將..可能會給出非常差的壓縮。

我猜您的問題源於不知道用於壓縮數據的霍夫曼表/樹。 霍夫曼有三種基本類型:動態,靜態和兩次通過。

在靜態Huffman中,所有壓縮總是使用同一張表完成。 在這種情況下,解壓縮器會預加載與壓縮器始終使用的同一表的副本。

在動態Huffman中,您將根據輸入內容構建Huffman表/樹。 解壓縮器根據壓縮文件的內容與壓縮器同步構建類似的表。

在兩遍霍夫曼中,您首先需要對數據進行掃描以找出字符頻率(從而確定最佳壓縮樹)。 在這種情況下,您必須與數據一起傳輸霍夫曼樹(或頻率來構建樹),以使解壓縮器重建數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM