método de compresión sin pérdidas para acortar cadena antes de la codificación Base64 para que sea más corto?
-
30-09-2019 - |
Pregunta
acaba de construir una pequeña aplicación web para la previsualización de documentos HTML que genera URL: s que contiene el código HTML (y todos los CSS y Javascript en línea) en base 64 de datos codificados. El problema es que la URL: s rápidamente ponen un poco largas. ¿Cuál es el "de facto" forma estándar (preferentemente por Javascript ) para comprimir la primera cadena sin pérdida de datos?
PS; He leído acerca de Huffman y Lempel-Ziv en la escuela hace algún tiempo, y recuerdo disfrutando LZW:)
EDIT:
Solución encontró; parece rawStr => utf8Str => lzwStr => base64Str es el camino a seguir. Estoy trabajando más en la implementación de la compresión Huffman entre UTF-8 y LZW. El problema hasta ahora es que demasiados caracteres se vuelven muy larga cuando se codifica a base 64.
Solución
esta respuesta . Se menciona funciones para LZW de compresión / descompresión (a través de http://jsolait.net/ , específicamente http://jsolait.net/browser/trunk/jsolait/lib/codecs.js ).
Otros consejos
tendrá que luchar para conseguir mucho de compresión en absoluto en una URL, que son demasiado cortos y no contienen suficiente información redundante para obtener grandes beneficios de los algoritmos de estilo Huffman / LZW.
Si usted tiene limitaciones en el espacio de posibles direcciones URL (por ejemplo, todo el contenido tiende a estar en el mismo conjunto de carpetas) que podrían codificar algunas partes de las direcciones URL de expansión en el cliente -. Tramposo es decir,