刚刚构建了一个小的WebApp,用于预览HTML-DOCOUMENT,该html-documents在Base64编码数据中生成url:s包含HTML(以及所有内联CSS和JavaScript)。问题是,url:s迅速变长。什么是“事实上”的标准方式(最好是 JavaScript)首先压缩字符串而没有数据丢失?

PS;我不久前在学校读到有关霍夫曼和莱姆佩尔·齐夫的信息,我记得真的很喜欢LZW :)

编辑:

找到解决方案;似乎RAWSTR => utf8str => lzwstr => base64str是必经之路。我正在进一步努力在UTF8和LZW之间实施Huffman压缩。到目前为止的问题是,编码为base64时,太多的字符变得很长。

有帮助吗?

解决方案

查看 这个答案. 。它提到了LZW压缩/减压的功能(通过 http://jsolait.net/, , 具体来说 http://jsolait.net/browser/trunk/jsolait/lib/codecs.js).

其他提示

您将难以在URL上获得太多的压缩,它们太短,不包含足够的冗余信息,无法从Huffman / LZW样式算法中获得很大的好处。

如果您对可能的URL空间有限制(例如,所有内容往往在同一集合中),则可以用力编码URL的某些部分以在客户端上进行扩展 - 即作弊。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top