Comment compresser une chaîne de caractères?
Je voudrais avoir une compression réversible pour un type de chaîne pour que je puisse l'inclure dans l'Url, sans garder une trace de ce qu'elle désigne. La chaîne je voudrais compresser est SVG chaîne de chemin, ici est une courte introduction: http://apike.ca/prog_svg_paths.html
Fondamentalement, la chaîne contient un personnage, suivi par un nombre arbitraire de nombres entiers, puis un autre caractère, suivi par un nombre arbitraire d'entiers et ainsi de suite.
Si quelqu'un connaît une bonne ressource pour cela, il serait très apprécié!
Jason
OriginalL'auteur FurtiveFelon | 2010-09-04
Vous devez vous connecter pour publier un commentaire.
De nombreux algorithmes de compression sont bien documentés, un couple a même avez js implémentations:
GZip Une commune (relativement) bon algorithme de compression, je sais qu'il y a un JS impl, je suis juste la chasse à l'URL
LZW Une autre question renvoie à une LZW mise en œuvre en JS
Le codage arithmétique (je l'ai fait, mais le modèle qu'il utilise est stupide, donc, ne permet pas d'obtenir le meilleur taux de compression, il pourrait)
OriginalL'auteur olliej
Semble que vous pourriez bénéficier de simple et de double compression RLE.
Une couche d'apprêt sur ce qui peut être vu ici:
http://pp19dd.com/2011/10/query-string-limits-encoding-hundreds-of-checkboxes-with-rle/#demo
La bibliothèque doit être suffisamment souple pour modifier votre compression motif à quelque chose de plus préférable. L'article explique comment cela fonctionne; peut-être un bon début pour optimiser votre SVG cas.
OriginalL'auteur pp19dd
Vous pouvez essayer de La compression de Huffman. Nombre de caractères différents est de 20-30, et si la chaîne est longue, la compression doit être efficace.
OriginalL'auteur pepkin88