25 Stimmen

Wirklich einfache kurze String-Kompression

Gibt es eine wirklich einfache Komprimierungstechnik für Zeichenketten bis zu einer Länge von etwa 255 Zeichen (ja, ich komprimiere URLs )?

Mir geht es nicht um die Stärke der Kompression - ich suche etwas, das sehr gut funktioniert und schnell zu implementieren ist. Ich möchte etwas, das einfacher ist als SharpZipLib : etwas, das mit ein paar kurzen Methoden umgesetzt werden kann.

1voto

endolith Punkte 23212

Sie können den Deflate-Algorithmus direkt verwenden, ohne Header-Prüfsummen oder Footer, wie in dieser Frage beschrieben: Python: Inflate- und Deflate-Implementierungen

Dadurch wird eine URL mit 4100 Zeichen in meinem Test auf 1270 base64-Zeichen reduziert, so dass sie in die 2000er-Grenze des IE passt.

Und hier ist ein Beispiel für eine 4000-Zeichen-URL die nicht mit einer Hashtabelle gelöst werden kann, da das Applet auf jedem Server existieren kann.

0voto

Grzenio Punkte 34566

Ich würde damit beginnen, eine der vorhandenen (freien oder quelloffenen) Zip-Bibliotheken auszuprobieren, z. B. http://www.icsharpcode.net/OpenSource/SharpZipLib/

Zip sollte gut für Textstrings funktionieren, und ich bin mir nicht sicher, ob es sich lohnt, selbst einen Komprimierungsalgorithmus zu implementieren. ....

0voto

Justin Punkte 82143

Haben Sie versucht, einfach die gzip ?

Keine Ahnung, ob das bei so kurzen Saiten funktioniert, aber ich würde sagen, es ist wahrscheinlich die beste Lösung.

0voto

Wolfwyrd Punkte 15372

Die Open-Source-Bibliothek SharpZipLib ist einfach zu bedienen und bietet Ihnen Komprimierungswerkzeuge

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X