método de compresión sin pérdidas para acortar cadena antes de la codificación Base64 para que sea más corto?

StackOverflow https://stackoverflow.com/questions/4144704

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.

¿Fue útil?

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,

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top