gpt4 book ai didi

compression - 如何以字节表示 LZW 输出?

转载 作者:行者123 更新时间:2023-12-04 01:58:11 24 4
gpt4 key购买 nike

我找到了 LZW 算法的实现,我想知道如何将其输出(一个 int 列表)表示为字节数组。

我曾尝试使用一个字节,但在长输入的情况下,字典有超过 256 个条目,因此我无法转换。

然后我尝试添加一个额外的字节来指示用于存储值的字节数,但在这种情况下我必须为每个值使用 2 个字节,这压缩不够。

我该如何优化它?

最佳答案

作为位,而不是字节。您只需要一个简单的例程,将任意数量的位写入字节流。它只是保留一个单字节缓冲区,您可以在其中放入位,直到您拥有八位为止。然后写入比字节,清除缓冲区,并重新开始。该过程在另一侧相反。

当你到达末尾时,如果不为空,只需写入最后一个字节缓冲区,并将其余位设置为零。

您只需要计算出在当前压缩状态下每个符号需要多少位即可。从流中提取位时,可以在另一侧做出相同的决定。

关于compression - 如何以字节表示 LZW 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49210099/

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