2010-02-09 4 views

Répondre

13

Je crois que Pako (https://github.com/nodeca/pako) est maintenant l'implémentation javascript la plus rapide de deflate et d'autres méthodes zlib (gonflez/gzip/ungzip). Il y a des repères sur la page github. Il prend également en charge la segmentation si vous avez besoin de travailler avec de gros blobs.

Avertissement: Je suis l'auteur de ce code.

+0

c'est pour node.js ... –

+1

'bower install pako'. Voir readme. C'est pour le navigateur. – Vitaly

+0

J'ai vu readme ... avez-vous vu le code? Comme les fichiers dans dist sont essayés pour fonctionner sur le navigateur, ils utilisent zlib dans le dossier lib qui est node.js sans même essayer de le changer ... –

21

J'ai trouvé une implémentation de codeur et de décodeur DEFLATE au http://github.com/dankogai/js-deflate et ils fonctionnent parfaitement.

+2

Notez que js-deflate attend des chaînes avec 1 octet par caractère, mais JS utilise le codage UCS-2 en interne. Vous devez donc soit appliquer l'encodage base64 en premier, soit le convertir en UTF-8 brut (voir http://ecmanaut.blogspot.com/2006/07/encoding-decoding-utf8-in-javascript.html pour les méthodes de conversion) – user123444555621

+4

Un exemple de js-deflate en action: http://jsfiddle.net/mwolfetech/X2NL6/ – mwolfetech

+3

Si vous mettez le niveau de compression à 3 (en baisse de 6 par défaut), il duplique le dernier caractère! En outre, il produira parfois une sortie invalide. –