Lichtgestalt: der Chaosforschung auf der Spur...

Beitrag lesen

Wenn dein String einmal vorhanden ist, wirst du ihn wohl kaum mehr "eindampfen" können.

komm komm, ich habe mir jetzt eine Funktion gebastelt und aus diesem:

a=s|class:tag=[:a=s|SUP:BODY=[:a=s|b:b=[:c=[:i=[:0=i|1:1=i|1]:j=[:0=[:0=i|5:1=i|4]]:k=[:0=i|0:1=i|0]:l=null|null:m=b|false]:d=[:i=[:0=i|1:1=i|0]:j=[:0=[:0=i|9:1=i|2]]:k=[:0=i|0:1=i|0]:l=null|null:m=b|false]:a=s|d]]:B=[:a=s|b:b=[:a=s|c]]:H1=[:a=s|b:b=[:a=s|c]:.special=[:a=s|b:b=[:a=s|c]]:.special2=[:a=s|b:b=[:a=s|c]]]:P=[:a=s|b:b=[:a=s|c]]:SUP=[:a=s|b:b=[:a=s|c]]]:class=[:a=s|.special2:.special=[:a=s|b:b=[:a=s|c]]:.special2=[:a=s|b:b=[:a=s|c]]]a=s|class:tag=[:a=s|SUP:BODY=[:a=s|b:b=[:c=[:i=[:0=i|1:1=i|1]:j=[:0=[:0=i|5:1=i|4]]:k=[:0=i|0:1=i|0]:l=null|null:m=b|false]:d=[:i=[:0=i|1:1=i|0]:j=[:0=[:0=i|9:1=i|2]]:k=[:0=i|0:1=i|0]:l=null|null:m=b|false]:a=s|d]]:B=[:a=s|b:b=[:a=s|c]]:H1=[:a=s|b:b=[:a=s|c]:.special=[:a=s|b:b=[:a=s|c]]:.special2=[:a=s|b:b=[:a=s|c]]]:P=[:a=s|b:b=[:a=s|c]]:SUP=[:a=s|b:b=[:a=s|c]]]:class=[:a=s|.special2:.special=[:a=s|b:b=[:a=s|c]]:.special2=[:a=s|b:b=[:a=s|c]]]a=s|class:tag=[:a=s|SUP:BODY=[:a=s|b:b=[:c=[:i=[:0=i|1:1=i|1]:j=[:0=[:0=i|5:1=i|4]]:k=[:0=i|0:1=i|0]:l=null|null:m=b|false]:d=[:i=[:0=i|1:1=i|0]:j=[:0=[:0=i|9:1=i|2]]:k=[:0=i|0:1=i|0]:l=null|null:m=b|false]:a=s|d]]:B=[:a=s|b:b=[:a=s|c]]:H1=[:a=s|b:b=[:a=s|c]:.special=[:a=s|b:b=[:a=s|c]]:.special2=[:a=s|b:b=[:a=s|c]]]:P=[:a=s|b:b=[:a=s|c]]:SUP=[:a=s|b:b=[:a=s|c]]]:class=[:a=s|.special2:.special=[:a=s|b:b=[:a=s|c]]:.special2=[:a=s|b:b=[:a=s|c]]]a=s|class:tag=[:a=s|SUP:BODY=[:a=s|b:b=[:c=[:i=[:0=i|1:1=i|1]:j=[:0=[:0=i|5:1=i|4]]:k=[:0=i|0:1=i|0]:l=null|null:m=b|false]:d=[:i=[:0=i|1:1=i|0]:j=[:0=[:0=i|9:1=i|2]]:k=[:0=i|0:1=i|0]:l=null|null:m=b|false]:a=s|d]]:B=[:a=s|b:b=[:a=s|c]]:H1=[:a=s|b:b=[:a=s|c]:.special=[:a=s|b:b=[:a=s|c]]:.special2=[:a=s|b:b=[:a=s|c]]]:P=[:a=s|b:b=[:a=s|c]]:SUP=[:a=s|b:b=[:a=s|c]]]:class=[:a=s|.special2:.special=[:a=s|b:b=[:a=s|c]]:.special2=[:a=s|b:b=[:a=s|c]]]

wurde dieser:

þ!b:b!c]Cþb:bEþ]]:Fþ()*+,-:Gþ/ss:tagIþ!S;!<=[Jþ$%>&i|?Kþd=[$%|0Lþj=[&i@2Mþass!#l2Nþ]:j=[Qþi|Rþ0]:TþclaVþ:1=iXþ[:ZþUP\þÿ=Za=s|!ÿ.specia#ÿ:i=Z0=$ÿR1X%ÿ:0=Z0=&ÿFk=Z(ÿ0=R0:1)ÿ=RTl*ÿ=null|n+ÿull:m=b,ÿ|false]-ÿa=s|V/ÿ:BODY;ÿE=Zc<ÿ|1Q>ÿ5:1=R4?ÿ|9:1=R@ÿs|dFBAÿIJKGL]:MGa=AC]:H1C:#lC]:#l2CFPC]:S\CFclN:#lC]:#l2C]]IJKGL]:MGa=AC]:H1C:#lC]:#l2CFPC]:S\CFclN:#lC]:#l2C]]IJKGL]:MGa=AC]:H1C:#lC]:#l2CFPC]:S\CFclN:#lC]:#l2C]]IJKGL]:MGa=AC]:H1C:#lC]:#l2CFPC]:S\CFclN:#lC]:#l2C]]

das sind nur noch 26% der Ausgangslänge. Zugegeben schaffe ich diese Raten nur bei ziemlich langen Strings (dieser hatte 1788 Zeichen), aber immerhin ist das doch wohl mehr als "kaum" :-)

Hm. Nur mal so: wie willst du ein Javascript-Erzeugnis speichern?

per Hand in einer .txt-Datei oder in einem Cookie.

Und warum willst du es dann ohne das übliche "Drumherum" an Content verschicken - eventuell per mail?

damit andere das Programm mit der gleichen Einstellung öffnen können.

Es nutzt dir nur nicht viel, weil du zur Programmausführung dann wieder eine Funktion brauchst, die deine Ersetzungen gewissermaßen rückgängig macht, so daß der Code ausgeführt werden kann.

ach nee, das hatte ich eigentlich als selbsvertändlich vorausgesetzt ,-) Mein Entpacker geht übrigens auch schon tadellos :-)

Aber mir ist bei dieser ganzen Sache ein ganz anderer Gedanke gekommen: je stärker der String komprimiert wird, desto zufälliger - "chaotischer" - wird die Zeichenverteilung. Sonst - wenn es noch Muster gäbe - könnte man ja weiterkomprimieren. Aber dieser komprimierte Chaos-String enthält ja troztdem die gleiche Information, wie der entpackte, sonst ließe er sich ja nicht eindeutig entpacken. Also schlußfolgere ich: je komplexer oder chaotischer ein Muster, desto höher ist die darin enthaltene Informationsdichte. Ist das der Inhalt der "Chaosforschung"?