//后注:这里的解码显然弱爆了,明显应该使用Huffman Tree来进行,而不是这里的hard code,因为一般情况,不可能只有a、b、c三个字符的编码。
回答百度知道上的一位朋友的问题,
他已经实现了huffman的编码过程但是不知道如何用编码方式对文件进行压缩
下面给出简单的代码。
对范例文件test.dat的压缩比例为:126byte/27byte
test.dat的内容
aaabbcaaabbcbaaaabbcaaabbcbaaaabbcaaabbcbaaaabbcaaabbcbaaaabbcaaabbcbaaaabbcaaabbcbaaaabbcaaabbcbaaaabbcaaabbcbaaaabbcaaabbcba
ps:
给出的代码只能对转换成二进制后,二进制位为7的倍数的文件进行压缩,如果需要弥补这个问题,需要在编码后的文件头中写入源文件的大小,本程序为简便起见,未作处理
相关推荐
1.实验目的 通过“图片压缩编码”的编程实践,学习树、遍历二叉树、哈夫曼树、...使用Huffman编码对原文件中的字节重新编码,获得压缩后的文件数据。 (5)保存压缩文件 将编码过的数据,保存到文件“Pic.bmp.huf”中。
2.使用Huffman编码压缩和解压时,Huffman树的存储可以直接存储树结构,也可以存储所有字符的频度或权值,然后读取时建立Huffman树; 3.使用Huffman编码压缩和解压时,注意定义压缩码的结束标记,可以使用一个特殊的...
使用Huffman编码,对原文件中的字节重新编码,获得压缩后的文件数据; (6)保存文件 将编码过的数据,保存到文件“Pic.bmp.huf”中。 ## 4. 数据结构的设计 1.记录统计256种不同字节的重复次数即权值使用整型...
空间栅格数据由于冗余度高,数据...本程序中先根据选择创建随机文件或导入图片,计算各个灰度出现的频率生成Huffman编码,然后利用Huffman编码对源文件进行压缩,最后读取压缩后的文件进行译码并按照需要进行图像检索。
17.1.1 图像编码压缩的必要性 17.1.2 图像编码压缩的可能性 17.1.3 图像编码压缩的分类 17.1.4 图像编码压缩的评价 17.2 无损压缩编码 17.2.1 行程编码 17.2.2 哈夫曼( Huffman )编码 17.2.3 算术编码 ...
17.1.1 图像编码压缩的必要性 17.1.2 图像编码压缩的可能性 17.1.3 图像编码压缩的分类 17.1.4 图像编码压缩的评价 17.2 无损压缩编码 17.2.1 行程编码 17.2.2 哈夫曼( Huffman )编码 17.2.3 算术编码 ...
17.1.1 图像编码压缩的必要性 17.1.2 图像编码压缩的可能性 17.1.3 图像编码压缩的分类 17.1.4 图像编码压缩的评价 17.2 无损压缩编码 17.2.1 行程编码 17.2.2 哈夫曼( Huffman )编码 17.2.3 算术编码 ...
17.1.1 图像编码压缩的必要性 17.1.2 图像编码压缩的可能性 17.1.3 图像编码压缩的分类 17.1.4 图像编码压缩的评价 17.2 无损压缩编码 17.2.1 行程编码 17.2.2 哈夫曼( Huffman )编码 17.2.3 算术编码 ...
17.1.1 图像编码压缩的必要性 17.1.2 图像编码压缩的可能性 17.1.3 图像编码压缩的分类 17.1.4 图像编码压缩的评价 17.2 无损压缩编码 17.2.1 行程编码 17.2.2 哈夫曼( Huffman )编码 17.2.3 算术...
e. 如有可能,请建立一个存储商品名称和数量的文本文件,并为二叉搜索树建立一个成员函数SetupInventory(),用于从该文本文件中读取库存商品的数据, 实验报告要求: 1、 按要求记录下二叉搜索树的完整实验...