Leuk idee, ik heb alleen geen tijd om zoiets helemaal op te zetten en te ontwerpen. Ik kan wel een subdomein van gmta.nl leveren (golf.gmta.nl bijvoorbeeld) en alles wat je nodig zou kunnen hebben op een webserverquote:Op zondag 18 december 2005 11:44 schreef Chandler het volgende:
Waarom begint GOLF of jullie niet een globale website voor wedstrijden die een maand duren, dan heb je er wel 12 per jaar en kun je echt zien hoe divers mensen programmeren... (scripten).
Dat valt ook weer mee, denk ik zo. De ingrediėnten:quote:Op zondag 18 december 2005 15:12 schreef SuperRembo het volgende:
Het is een hoop werk om te maken en om te onderhouden, terwijl een topic ook prima voldoet.
Dat valt wel mee hoor, ik begrijp de code primaquote:Op zondag 18 december 2005 19:12 schreef JeRa het volgende:
Zondag 18:00! Geweestik heb medelijden met Crisp en de onbegrijpelijke stukken code waar hij lappen tekst over moet schrijven
Tof.quote:Op zondag 18 december 2005 19:13 schreef crisp het volgende:
[..]
Dat valt wel mee hoor, ik begrijp de code prima
Ik ben al begonnen en zal het in de loop van de avond af proberen te maken
Zo, nog even wat dingen geregeld voor de aankomst van onze zoon overmorgen maar nu zit ik er echt voorquote:Op zondag 18 december 2005 19:19 schreef JeRa het volgende:
[..]
Tof.Wat vind je van het idee van Chandler trouwens?
1 |
1 |
1 |
1 |
1 |
1 2 3 4 5 6 7 8 9 | $t.='+/='; for($l=strlen($s=pos($_POST)."\0\0");$j<$l;) { $a=ord($s{$j++}); $b=ord($s{$j++}); $c=ord($s{$j++}); echo$t{$a>>2}.$t{$a<<4&48|$b>>4&15}.$t{$l-$j>1?$b<<2&60|$c>>6:64}.$t{$l-$j>2?$c&63:64}; } |
1 2 3 4 5 6 | $b.='0123456789+/'; $l=strlen($s=end($_POST)); while($i<$l)$x.=sprintf('%08b',ord($s{$i++})); while($j<8*$l)echo$b{bindec(sprintf('%0-6s',substr($x,-6+$j+=6,6)))}; while($l++%3>0)echo'='; |
1 2 3 4 5 6 7 8 | for($s=pos($_POST);($a=$s{$p})!='';) { $b=$p++*2%6; $c=ord($a)>>$b+2|($b?$d:0); $d=ord($a)<<4-$b&63;echo$t{$c}.($b>3?$t{$d}:''); } if($p%3)echo$t{$d}.'='.($b?'':'='); |
1 2 3 4 5 6 7 | $l=strlen($s=pos($_POST)),$d=array_merge(range(A,Z),range(a,z),range(0,9),'+','/','='); $i<$l||$b%8&&++$e; $o.=$d[$e>1?64:$r>>$b],$r&=(1<<$b)-1 ) $b+=$b<6?($r=$r<<8|ord($s[$i++]))?2:2:-6; echo$o; |
Ik gebruik geen '=' in mijn base, en als je die bij jouw methode weglaat is het aantal tekens ook 52quote:Zelfs mijn eigen methode was met 56 duidelijk nog langer dan noodzakelijk
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | { $b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; $result = ''; $i = 0; $l = strlen($string); $bitpointer = 0; $remainder = 0; while ($i < $l) { if ($bitpointer < 6) { $remainder = $remainder << 8 | ord($string[$i++]); $bitpointer += 8; } $bitpointer -= 6; $result .= $b64[$remainder >> $bitpointer]; $remainder &= (1 << $bitpointer) - 1; } if ($bitpointer) { $result .= $b64[$remainder << 6 - $bitpointer]; $bitpointer -= 6; while ($bitpointer % 8) { $result .= '='; $bitpointer -= 6; } } return $result; } |
1 2 3 4 5 6 | $s=pos($_POST),$d=join(range(A,Z)).join(range(a,z)).'0123456789+/='; $s[$i]!=''||$b%8&&++$e; print$d[$e>1?64:$r>>$b],$r&=(1<<$b)-1 ) $b+=$b<6?($r=$r<<8|ord($s[$i++]))?2:2:-6; |
Die ,'=' had ik al buiten beschouwing gelatenquote:Op maandag 19 december 2005 00:06 schreef JeRa het volgende:
Ik gebruik geen '=' in mijn base, en als je die bij jouw methode weglaat is het aantal tekens ook 52
Nee, samen met die OR gaat dat niet goed...quote:edit2: $r=$r<<8; is hetzelfde als $r<<=8; mocht je dat nog niet in je kleinere versie hebben
Shame on me...quote:Op maandag 19 december 2005 00:43 schreef crisp het volgende:
Nee, samen met die OR gaat dat niet goed...
En jij bent ook zeker een winnaar, 176 tekens is wel schandalig kleinquote:Overigens mag iedereen zich wel een beetje winnaar noemen; ik had niet verwacht dat ik zulke goede inzendingen zou krijgen, en zelfs dat foutje van SuperRembo is nog te vergeven aangezien het volgens mij best wel eenvoudig te fixen is
Waar gebruik je die compressie voor? Is het ook ergens in actie te bewonderen?quote:Op maandag 19 december 2005 00:32 schreef crisp het volgende:
Het grote voordeel van deze aanpak is dat het eenvoudig is om te zetten naar een andere macht-van-2-basis zoals base32 of base128 (dat laatste gebruik ik bijvoorbeeld voor een javascript-compressie algoritme).
Een uitwerking van LZW/LZS met nog een aantal verbeteringen in javascript: http://therealcrisp.xs4all.nl/upload/jscompress.htmlquote:Op maandag 19 december 2005 07:43 schreef SuperRembo het volgende:
[..]
Waar gebruik je die compressie voor? Is het ook ergens in actie te bewonderen?
1 2 3 4 5 6 7 8 9 10 | 001 = 1 010 = 2 011 = 3 100 = 4 101 = 5 1100 = 6 1101 = 7 1110 = 8 1111 = 9 |
Een beetje voor de lol eigenlijk. Ik had LZW al geimplementeerd in mijn javascript GIF generator (WIP) en wou eens kijken of het ook bruikbaar zou zijn voor een javascript compressor/obfuscatorquote:Op maandag 19 december 2005 19:27 schreef SuperRembo het volgende:
Ziet er gaaf uit
Heb je dit gemaakt als studie, voor de lol of heb je ook een echte toepassing?
|
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |