I would like to have a reversible compression for a type of string so that i can include it in URLs without keeping track of what it refers to. The string i would like to compress is SVG path string, here is a short primer: http://apike.ca/prog_svg_paths.html
Basically, the string contains a character, followed by arbitrary number of integers, then another character followed by arbitrary number of integers and so on.
If anyone knows of a good resource for this, it would be much appreciated!
Jason
Many compression algorithms are well documented, a couple even have js implementations:
GZip A common (reasonably) good compression algorithm, I know there's a JS impl, i'm just hunting the URL
LZW Another question points to an LZW implementation in JS
Arithmetic coding (i did this, but the model it uses is stupid so doesn't achieve the best compression rates it could)
Sounds like you might benefit from single and double RLE compression.
A primer on this can be seen here:
http://pp19dd.com/2011/10/query-string-limits-encoding-hundreds-of-checkboxes-with-rle/#demo
The library should be flexible enough to modify your compression pattern to something more preferable. The writeup explains how this works; might be a good start to optimize your SVG case.
You could try Huffman compression. Number of different chars is 20-30, and if the string is long, compression should be effective.