méthode de compression sans perte de raccourcir la chaîne avant Base64 pour le rendre plus court?
-
30-09-2019 - |
Question
construit juste un petit webapp pour afficher un aperçu HTML des documents qui génère URL: s contenant le HTML (et tous les CSS en ligne et Javascript) en base64 données codées. Le problème est, l'URL: s obtenir rapidement un peu de temps. Quelle est la méthode standard "de facto" (de préférence par Javascript ) pour comprimer la première chaîne sans perte de données?
PS; Je l'ai lu Huffman et Lempel-Ziv à l'école il y a quelque temps, et je me souviens vraiment profiter LZW:)
EDIT:
Solution trouvée; semble comme rawStr => utf8Str => lzwStr => base64Str est le chemin à parcourir. Je travaille encore sur la mise en œuvre de compression huffman entre UTF8 et LZW. Problème à ce jour est que trop de caractères deviennent très longtemps quand encodé en base64.
La solution
Consultez cette réponse . Il mentionne des fonctions pour la compression LZW / décompression (via http://jsolait.net/ , en particulier http://jsolait.net/browser/trunk/jsolait/lib/codecs.js ).
Autres conseils
Vous aurez du mal à obtenir une compression très du tout sur une URL, ils sont trop courts et ne contiennent pas suffisamment d'informations redondantes pour obtenir beaucoup d'avantages algorithmes de style Huffman / LZW.
Si vous avez des contraintes sur l'espace des possibles URLS (par exemple tout le contenu a tendance à être dans le même ensemble de dossiers), vous pouvez coder en dur certaines parties des URLS d'expansion sur le client -. Dire triche