- 29
- 0
情景是这样的
一个霍夫曼编码树的作业,所谓霍夫曼编码就是按照一定方式将文本中的字符用 0 和 1 重新编码,其中出现较多的字符所用的位数少.比如说字母 e 在这个文本中大量出现,可能给它规定的编码就是 01,而字母 s 较少出现,可能给它的编码就是 011110.
因为我没法直接对文件读写 bit(如果有办法或者有成熟的库还劳烦推荐),所以只有先将文件的内容全部转换为 0 或 1 的 字符存储在一个 string 里,然后对这个 string 每 8 个字符一截,因为这 8 个字符都是 01 组成的,把这一段当作二进制数处理,就能得到一个 0-255 间的数,然后把这个数强制类型转换为 char 然后输出到一个文件里去..
然后问题来了,现在我要从这个文件里读我输出的内容(显然直接去看这个内容的话会是一堆乱码)...
我的想法是乱不乱码没关系,反正我读进来放到一个 string 里,然后每个字符对应一个 0-255 的数,我再把这个数转回那个二进制字符串,然后拼起来,这样我就又得到霍夫曼编码了...结果发现这一步已经回不去了...
我个人的想法是可能我在读入的时候,c++一脸懵逼不知道它要按照什么编码方式,在读入啥 j8 玩意儿,所以读回来的东西猜不对..如果能告诉 c++你就按照 8bit 一字符读,具体读进来的内容到底是什么用不着你管,我觉着能解决这个问题吧?
谢谢
0
打赏
收藏
点击回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
