This library was probably the best available widely browser-compatible JavaScript compression library at its release, this in no longer the case. The Pako library seems superior in every way. For creating zip files JSZip is a useful extension of Pako. Finally, an easy-to-use alternative with a very small code size, but slightly larger output, is my own KISSC.
Library for compressing and decompressing strings in JavaScript, feature full Unicode support and is compatible with most browsers.
Copy the script inclusion from demo.html.
Call deflate(foo) in order to compress a string.
Call inflate(bar) in order to decompress a string compressed in this manner.
Both functions return a string, or null in case of illegal input.
The compression works by first UTF-8 encoding the input, then compressing it to a raw deflate stream. The stream is then base64 encoded, and finally the identifier "rawdeflate," is prepended.
Gildas Lormeau made the JavaScript conversion of a Deflate utility: https://github.com/gildas-lormeau/zip.js
Jacob Christian Munch-Andersen made this package in order to make simple use easier and compatible with older browsers.
The following shims are included:
es5-shim by Kristopher Michael Kowal https://github.com/kriskowal/es5-shim
JSON 3 by Kit Cambridge http://bestiejs.github.com/json3/
Typed arrays light shim by Jacob Christian Munch-Andersen https://github.com/Jacob-Christian-Munch-Andersen/Typed-arrays-light-shim
base64 by Yaffle https://gist.github.com/1284012
Main packages come with a BSD licence, the shims, except for base64 that include no license text, each has a permissive license.