栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

关于c++Huffman编码无法压缩的问题

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于c++Huffman编码无法压缩的问题

相信第一次做Huffman编码实验的时候遇到不少问题,其中最难解决的应该是文本编码没有压缩,反而增大了。

原因:

因为无论用bool类型还是char类型存储01串写入文件,都是一个字节,原来文本的字符也是一个字节,现在你编码之后一个字符需要多个01串,是不是需要的字节数就变多了啊,所以正确的做法应该是按位编码,

一个01只需要一位就能解决了,一个字节就可以存储8位,是不是就起到压缩的效果了,你说如果编码超过8位是不是变长呢?对于这个字符来说是的,但是根据Huffman编码的原理,肯定会变小的。

解决的办法我用的是C++的是 bitset ,它是一种类似数组的结构,它的每一个元素只能是0或1,每个元素仅用1bit空间,每8位作为一个字节写入文件。具体细节实现请看Huffman编码与译码(详解代码)_m0_53152199的博客-CSDN博客

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/664914.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号