![]() |
Décoder une chaîne de caractères contenue dans une url - Version imprimable +- Communauté Eggdrop (https://forum.eggdrop.fr) +-- Forum : Eggdrop et scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=8) +--- Forum : Bouts de Scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=17) +--- Sujet : Décoder une chaîne de caractères contenue dans une url (/showthread.php?tid=1420) |
Décoder une chaîne de caractères contenue dans une url - CrazyCat - 07/10/2013 Voici le pendant de la fonction urlencode, bien que l'intérêt de son utilisation me semble très réduit. Il s'agit d'une simple inversion du tableau présent dans la procédure. tcl
source éditable RE: urldecode - MenzAgitat - 07/10/2013 Je propose une alternative que je viens de bricoler vite fait : tcl
elle a l'avantage de dispenser d'avoir un tableau volumineux et peut-être incomplet, mais a peut-être des inconvénients auxquels je ne pense pas dans l'immédiat. RE: urldecode - CrazyCat - 07/10/2013 Petit ajout: il faut penser à décoder aussi les caractères valides dans une url, comme le + : tcl
Je passe par un string::map parce que ce n'est surement pas le seul caractère qui n'est pas obligatoirement en hexa, et je transforme en code hexa par souci d'uniformisation. RE: urldecode - MenzAgitat - 07/10/2013 Bien vu CrazyCat. Petite optimisation pour la rapidité d'exécution : tcl
Avant : Citation :<MenzAgitat> .tcl time {::testurldecode1 "ceci+est+un%20t%c5%FFst+ceci+est+un+test+ceci+est+un+test+ceci+est+un+test+ceci+est+un+test"} 10000Après : Citation :<MenzAgitat> .tcl time {::testurldecode2 "ceci+est+un%20t%c5%FFst+ceci+est+un+test+ceci+est+un+test+ceci+est+un+test+ceci+est+un+test"} 10000 |