我正在使用一个静态字典文件,其中包含一些单词和这些单词的值。这些值不是固定大小的,例如the
is 1
、love
is 01
、kill
is101
等。当我尝试压缩一组单词时,我会遍历每个单词并查找字典是否存在该单词的值。如果存在,我用值更改单词,如果不存在,我将单词编码为字节。压缩后我得到了一大块位,因为这些字典值和未压缩的单词不是固定大小的,我无法对这些位进行分组和解码。
我曾考虑对每组位使用 1 位标志来确定它是压缩的还是未压缩的,但由于代码字或常规字的长度未知,我无法检测到标志位。
如果我使用 1 字节分隔符,它仍然有问题。假设我的分隔符是00000000
,在分隔符之前我有分隔符100
,在分隔符之后有001
,所以我们有10000000000001
,我怎么知道这些位中的哪一组是我的分隔符?我可以使用其他方法对这些压缩/未压缩位进行分组以对其进行解码吗?谢谢你。