JavaScript中的文本压缩

时间:2011-07-22 14:13:33

标签: javascript compression

是否有库/等。在JavaScript中实现轻量级文本压缩?

我的真正目标是略微缩短一些文字,使其一目了然。 (它不需要提供安全性 - 将为用户显示文本。)理想情况下,可以调整压缩以仅输出查询字符

[-._~!$&'()*+,;=:@/?a-zA-Z0-9]

所以它可以在URL中传递。 (实际上,这很重要 - 如果使用其他字符,则必须进行百分比编码,这可能会使文本大于原始文本。)当然,如果需要,罕见字符可以进行百分比编码。 / p>

有什么想法吗?如果做不到这个,建议做一个简单的?压缩不一定很好,但更短的URL会更好。要压缩的文本应该是英文句子:大多是小写字母,空格和标点符号,偶尔会出现大写字母,数字和换行符。

3 个答案:

答案 0 :(得分:4)

我发现lz-string这完全符合我的需要。它可以快速压缩和解压缩文本,并可以定位原始位,有效的Unicode字符或Base64。也许它会对其他人有用吗?

答案 1 :(得分:3)

我最初想到的是Huffman Compression,通过在Google上的快速搜索,我发现了以下内容:

http://tom-ash.net/blogs/Blog.aspx?File=Programming/20090602_HuffmanCompression.blog

其中有一个有效的例子。

不确定它是否符合你需要的费用,但它是一个可以开始的地方。

答案 2 :(得分:1)

我在考虑一个霍夫曼压缩。这个javascript库真的很棒:http://rumkin.com/tools/compression/compress_huff.php。它有一个真正节省空间的方法来压缩和解压缩每个字符。也许你想要寻找一个Golomb代码。它具有与霍夫曼相同的压缩率,但IMO更容易实现。不要问我一个例子。