JavaScript: Décompresser / gonfler /unzip /ungzip chaînes

Je suis à la recherche pour le JavaScript de la mise en œuvre de la chaîne de gonflage des algorithmes.
Je veux compresser sur le côté serveur (Java), et le décompresser sur le côté client (JavaScript).

Que j'ai trouvé:

décompressez chaînes de caractères en javascript

Que l'on est marqué comme réponse à une réponse pour le problème est différent. D'autres réponses sont aussi pour quelque chose d'autre (de décompression de fichiers au format ZIP).

JavaScript gonfler mise en œuvre (éventuellement FF 3.6 seulement)

C'est plus proche de ce dont j'ai besoin. Cependant j'aimerais avoir quelques solutions de rechange.

Suggestions?

Merci, Daniel

Mise à jour:
J'ai pas mal de cas d'utilisation spécifiques, s'il vous plaît ne pas répondre "Ne pas faire que dans le JavaScript".
Je suis en train d'écrire une ligne, outil de reporting (une fois généré, il est mis à la statique du magasin) et le dégonflage peut enregistrer méga-octets pour un seul rapport. Je suis contraint par d'autres applications donc je ne peux pas le stocker en tant que fichier zip.

  • Le principal problème va être que JavaScript n'a pas d'installations pour la manipulation de données brutes. Tous les chiffres à virgule flottante, et toutes les valeurs de chaîne sont conservés en tant que UTF-16 (caractères de 2 octets). Il n'y a pas de "tableau d'octets" type de données, de sorte que rend la mise en œuvre de compression/décompression beaucoup plus difficile et beaucoup moins efficace.
  • Pas vrai, il ya un soutien pour les données binaires au cours des dernières implémentations JavaScript, basé sur Tableau Typé Spécification.
  • oui, c'est vrai - qui ne manquera pas d'être utile 🙂
  • Le navigateur utilise déjà un C / C++ mise en œuvre de ce dont vous avez besoin, de trouver un moyen d'y accéder par le biais de .js. J'ai écrit un natif .js version de JSON pour le plaisir, et il était environ 100 fois plus lent que le navigateur du C / C++ mise en œuvre.
  • Connexes: Voici de Dean Edwards' packer: dean.edwards.nom/packer