gpt4 book ai didi

c++ - 压缩后将哈夫曼树写入文件

转载 作者:搜寻专家 更新时间:2023-10-31 01:55:16 26 4
gpt4 key购买 nike

在插入所有实际压缩文件数据后,我正在尝试将霍夫曼树写入压缩文件。但是,我刚刚意识到一个问题,假设我决定一旦我所有的实际数据都写入文件,我将输入 2 个换行符然后写入树。这意味着,当我读回内容时,这两个换行符(或任何字符)是我的分隔符。问题是,实际数据完全有可能一个接一个地有 2 个换行符,在这种情况下,我的定界符检查将失败。我在这里以两个换行符为例,但对于任何字符串也是如此,我可以通过使用更长的字符串作为分隔符来颠覆这个问题,但这会产生两个不良影响:1. 压缩数据中出现长字符串的可能性很小。2. 不必要地膨胀需要压缩的文件。

有没有人对如何将压缩数据与树数据分开有任何建议?

最佳答案

首先,以字节为单位写出树的大小。然后,写树本身,然后是内容本身。

读的时候,先读大小,再读树(现在你知道要读多少个字符了),再读内容。

大小可以写成一个字符串,以换行符结尾 - 这样,您就知道第一个数字和换行符属于树的大小。

关于c++ - 压缩后将哈夫曼树写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8644931/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com