Comprimir cadena en JavaScript
-
Use
js-string-compression
para comprimir cadenas en JavaScript - Use la biblioteca LZString para comprimir cadenas en JavaScript
En JavaScript, puede haber una amplia gama de compresión, la compresión de archivos como gzip y muchos más. Aquí, discutiremos dos formas de comprimir una cadena.
Inicialmente, destacaremos el algoritmo de Huffman. Y más adelante, cubriremos la forma LZString de resolver la tarea.
Use js-string-compression
para comprimir cadenas en JavaScript
Primero configuraremos una carpeta que consiste en un archivo (okay.js
). Estamos usando VSCode para el editor de código, y en su terminal escribiremos el siguiente comando.
npm i js-string-compression
Esto agregará el paquete necesario para implementar el algoritmo de Huffman. Una vez que los paquetes estén instalados, tendrá un archivo package.json
y package-lock.json
en el directorio raíz.
El paquete.json
debería tener un aspecto similar al siguiente.
{
"dependencies": {
"js-string-compression": "^1.0.1"
}
}
En la siguiente etapa, escribiremos nuestro código básico, definiendo una cadena y configurando los parámetros que queremos verificar. Revisemos las líneas de código.
Fragmento de código:
var jsscompress = require('js-string-compression');
var raw_text =
'Lorem Ipsum is simply dummy text of the printing and typesetting industry.';
var hm = new jsscompress.Hauffman();
var compressed = hm.compress(raw_text);
console.log('before compressed: ' + raw_text);
console.log('length: ' + raw_text.length);
console.log('after compressed: ' + compressed);
console.log('length: ' + compressed.length);
console.log('decompressed: ' + hm.decompress(compressed));
Producción:
Use la biblioteca LZString para comprimir cadenas en JavaScript
Para comprimir su cadena a través de la biblioteca LZString, necesitamos tener un archivo HTML y un archivo js. El LZString es una implementación de Perl (lz-string
) para comprimir cadenas.
Para importar las dependencias, podemos seguir la línea de comando a continuación en nuestra terminal del directorio raíz, donde tenemos nuestros archivos HTML y js.
npm install -g lz-string
A continuación, crearemos un archivo HTML llamado new.html
y un archivo new.js
. También crearemos otro archivo llamado lz-string.js
, donde almacenaremos la implementación de LZString.
Para el código completo, consideramos este repositorio.
Ahora, escribiremos algunas líneas en nuestro nuevo.js
, y la vista previa es similar a la siguiente.
Fragmento de código:
var string =
'Lorem Ipsum is simply dummy text of the printing and typesetting industry.';
console.log('Size of sample is: ' + string.length);
var compressed = LZString.compress(string);
console.log('Size of compressed sample is: ' + compressed.length);
console.log(compressed);
string = LZString.decompress(compressed);
console.log('Sample is: ' + string);
Después de preparar el archivo new.js
, importaremos lz-string.js
y new.js
al archivo new.html
. Cuando abrimos el archivo HTML en el navegador, la salida sería similar a la siguiente.
Producción:
Como se puede notar, si comparamos ambas soluciones, la implementación de LZString da un mejor resultado. Fue desarrollado y diseñado de manera dedicada para resolver problemas en casos más grandes donde puede almacenar datos de gran tamaño en el almacenamiento del servidor.