我正在使用一個靜態字典文件,其中包含一些單詞和值。這個值不是固定的大小,例如the
是1
,love
是01
,kill
是101
等等。當我嘗試壓縮一組單詞時,如果該單詞的值存在,我遍歷每個單詞並查找字典。如果存在,我用值更改單詞,如果它不存在,我將單詞編碼爲字節。在壓縮之後,我得到了一大塊比特,並且由於這些字典值和未壓縮的字不是固定大小的,我不能對這些比特進行分組並對它們進行解碼。如何識別壓縮/解壓縮位組?
我曾考慮過爲每組位使用1位標誌來確定它是壓縮的還是未壓縮的,但由於未知長度的碼字或常規字,我無法檢測到標誌位。
如果我使用1個字節的分隔符,它仍然有問題。假設我的分隔符是00000000
,並且在分隔符之前有100
,分隔符之後我有001
,所以我們有10000000000001
,我該怎麼知道這些位是哪一組是我的分隔符? 我可以使用其他方法將這些壓縮/解壓縮位分組來解碼它們嗎?謝謝。
我應該爲特定項目開發這個功能,所以我不能使用任何庫或工具。關於固定大小的分隔符的問題在最後一段。 – gmnnn