我想对一种类型的字符串进行可逆压缩,这样我就可以将它包含在URL中而无需跟踪其引用的内容。我想要压缩的字符串是SVG路径字符串,这里是一个简短的引子:http://apike.ca/prog_svg_paths.html如何压缩字符串?
基本上,字符串包含一个字符,后面跟随任意数量的整数,然后是另一个字符,后面跟随任意数量的整数等等。
如果有人知道这个很好的资源,它将不胜感激!
杰森
我想对一种类型的字符串进行可逆压缩,这样我就可以将它包含在URL中而无需跟踪其引用的内容。我想要压缩的字符串是SVG路径字符串,这里是一个简短的引子:http://apike.ca/prog_svg_paths.html如何压缩字符串?
基本上,字符串包含一个字符,后面跟随任意数量的整数,然后是另一个字符,后面跟随任意数量的整数等等。
如果有人知道这个很好的资源,它将不胜感激!
杰森
许多压缩算法是有据可查的,一对夫妇甚至有JS实现:
GZip一个共同的(合理的)良好的压缩算法,我知道有一个JS IMPL,我是刚刚猎URL
LZW另一个问题点的LZW实施JS
Arithmetic coding(我这样做,但它使用的模型是愚蠢所以没有达到它可以在最佳的压缩率)
你可以尝试Huffman compression。不同的字符数是20-30,如果字符串很长,压缩应该是有效的。
听起来像你可能受益于单和双RLE压缩。
底漆上这个可以看这里:
http://pp19dd.com/2011/10/query-string-limits-encoding-hundreds-of-checkboxes-with-rle/#demo
库应具有足够的灵活性来修改你的压缩模式的东西更好。写作解释了这是如何工作的;可能是优化SVG情况的好开始。
RLE不会非常好地压缩SVG Path数据。 – Phrogz 2012-03-13 20:24:46