(web) Convertir codage % en ASCII
J'ai écrit une petite fonction pour convertir les strings contenant du percent-codage (%20=[space], par exemple).
Voilà la fonction :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Perc2Char() { # 1:inputstring
local C
while read -n1 C
do
if [ "$C" = "%" ]
then
read -n2 C
echo -en "\x$C"
else
echo -n "$C"
done < <(echo $1)
} |
Y a-t-il un moyen plus efficace (et je pense à sed) de procéder ?
Test:
Code:
1 2
| $ Perc2Char "%28Bonjour%20Monde%29"
(Bonjour Monde) |
---- EDIT ----------
Finalement j'ai trouvé une solution, et je ne comprends pas pourquoi je n'y ai pas pesé avant !!!
Code:
Perc2Char() { echo -e "${1//%/\\x}"; }
Du coup je me demande si c'est utile d'utiliser une fonction...
Je change le titre pour faciliter la recherche de ceux qui voudraient quelque chose du genre.