Zeichenfolge in JavaScript komprimieren
-
Verwenden Sie
js-string-compression
, um Strings in JavaScript zu komprimieren - Verwenden Sie die LZString-Bibliothek, um Zeichenfolgen in JavaScript zu komprimieren
In JavaScript kann es eine breite Palette von Komprimierungen geben, die Komprimierung von Dateien wie gzip und vieles mehr. Hier werden wir zwei Möglichkeiten diskutieren, eine Zeichenfolge zu komprimieren.
Zunächst werden wir den Huffman-Algorithmus hervorheben. Und später werden wir die LZString-Methode zur Lösung der Aufgabe behandeln.
Verwenden Sie js-string-compression
, um Strings in JavaScript zu komprimieren
Wir richten zunächst einen Ordner ein, der aus einer Datei (okay.js
) besteht. Wir verwenden VSCode für den Code-Editor und schreiben in dessen Terminal den folgenden Befehl.
npm i js-string-compression
Dadurch wird das notwendige Paket hinzugefügt, das zur Implementierung des Huffman-Algorithmus benötigt wird. Sobald die Pakete installiert sind, haben Sie im Stammverzeichnis eine Datei package.json
und package-lock.json
.
Die package.json
sollte etwa wie folgt aussehen.
{
"dependencies": {
"js-string-compression": "^1.0.1"
}
}
Im nächsten Schritt schreiben wir unseren Basiscode, definieren eine Zeichenfolge und setzen die Parameter, die wir überprüfen möchten. Lassen Sie uns die Codezeilen überprüfen.
Code-Auszug:
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));
Ausgang:
Verwenden Sie die LZString-Bibliothek, um Zeichenfolgen in JavaScript zu komprimieren
Um Ihren String über die LZString-Bibliothek zu komprimieren, benötigen wir eine HTML-Datei und eine js-Datei. Der LZString ist eine Perl-Implementierung (lz-string
) zum Komprimieren von Strings.
Um die Abhängigkeiten zu importieren, können wir der folgenden Befehlszeile in unserem Terminal des Stammverzeichnisses folgen, wo wir unsere HTML- und js-Dateien haben.
npm install -g lz-string
Als nächstes erstellen wir eine HTML-Datei namens new.html
und eine new.js
-Datei. Wir werden auch eine weitere Datei namens lz-string.js
erstellen, in der wir die LZString-Implementierung speichern.
Für den vollständigen Code haben wir dieses Repository berücksichtigt.
Jetzt schreiben wir einige Zeilen in unsere new.js
, und die Vorschau ähnelt der folgenden.
Code-Auszug:
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);
Nachdem wir die Datei new.js
vorbereitet haben, importieren wir lz-string.js
und new.js
in die Datei new.html
. Wenn wir die HTML-Datei im Browser öffnen, würde die Ausgabe der folgenden ähneln.
Ausgang:
Wenn wir beide Lösungen vergleichen, ergibt die LZString-Implementierung eine bessere Ausgabe. Es wurde speziell entwickelt und entwickelt, um Probleme in größeren Fällen zu lösen, in denen Sie riesige Datenmengen im Serverspeicher speichern können.