Javascript Client-Datenkomprimierung

8

Ich versuche eine Pinselanwendung durch Verarbeitung zu entwickeln. Diese API hat die Funktion loadPixels () , mit der die RGB-Werte in das Array geladen werden. Jetzt möchte ich das Array in der Server-Datenbank speichern.

Das Problem ist die Größe des Arrays, wenn ich in eine Zeichenfolge umwandle, ist die Größe 5 MB.

Ist die beste Lösung, die Komprimierung auf Javascript-Ebene durchzuführen? Wie man es macht?

    
Soft 12.02.2010, 14:32
quelle

2 Antworten

8

Siehe Ссылка für ein LZW-Komprimierungsbeispiel. Es funktioniert am besten bei längeren Strings mit wiederholten Mustern.

Aus dem Wikipedia-Artikel zum LZW:

  

Ein Wörterbuch wird initialisiert, um zu enthalten   die einzelnen Zeichenfolgen   entsprechend allen möglichen   Eingabezeichen (und sonst nichts   außer den clear und stop codes if   sie werden benutzt). Der Algorithmus   funktioniert durch Scannen der Eingabe   string für sukzessive länger   Teilstrings bis es einen findet, der ist   nicht im Wörterbuch. Wenn solch ein   string ist gefunden, der Index für die   string less das letzte Zeichen (d. h.   der längste Teilstring, der in der   Wörterbuch) wird von der abgerufen   Wörterbuch und zur Ausgabe gesendet, und die   neue Zeichenfolge (einschließlich der letzten   Zeichen) wird dem Wörterbuch hinzugefügt   mit dem nächsten verfügbaren Code. Das Letzte   Eingabezeichen wird dann als verwendet   nächster Startpunkt zum Scannen   Teilstrings.

     

Auf diese Weise sukzessive länger   Strings sind in der registriert   Wörterbuch und zur Verfügung gestellt für   nachfolgende Codierung als einzelne Ausgabe   Werte. Der Algorithmus funktioniert am besten   Daten mit wiederholten Mustern, also die   erste Teile einer Nachricht werden angezeigt   wenig Kompression. Wie die Nachricht   wächst jedoch das Kompressionsverhältnis   neigt asymptotisch zum   Maximum.

    
Andy E 12.02.2010, 14:44
quelle
1

JavaScript-Implementierung von Gzip hat ein paar Antworten, die relevant sind.

Auch Javascript LZW und Huffman Coding mit PHP und JavaScript sind andere Implementierungen, die ich gefunden habe.

    
Kevin Hakanson 23.11.2010 04:44
quelle