Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Codage des caractères

4 réponses
Avatar
ptilou
Bonjour,


Je recherche une solution pour renomer plusieur fichiers, le probl=E8me
sont les espaces, et les caract=E8res accentu=E9s qui apparaissent sous
forme de code num=E9rique.

Ex :Abandon%2520de%2520famille.pdf
il me faudrait : abandon de famille.pdf

Je ne connais ni le code qui correspond =E0 %2520 ( ascii ? )
Ni si il faut utiliser rename ou iconv ?

Merci

Ptilou

4 réponses

Avatar
Eric Levenez
Le 18/08/07 16:24, dans
, « ptilou »
a écrit :

Je recherche une solution pour renomer plusieur fichiers, le problème
sont les espaces, et les caractères accentués qui apparaissent sous
forme de code numérique.

Ex :Abandon%2520de%2520famille.pdf
il me faudrait : abandon de famille.pdf

Je ne connais ni le code qui correspond à %2520 ( ascii ? )


À priori c'est un double encodage. L'espace de ton fichier d'origine est
transformé en code hexa pour encodage d'une URL : "%20". Ensuite ce nom est
encore une fois réencodé de la même façon (sûrement une erreur lié à la
récupération de ce nom) : le % est réencodé en hexa ce qui donne %25. Ton
" " devient après ce double encodage "%2520". Un triple aurait donné
"%252520"...

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.

Avatar
ptilou
On 18 août, 17:46, Eric Levenez wrote:
Le 18/08/07 16:24, dans
, « ptilou »

Je recherche une solution pour renomer plusieur fichiers, le problème
sont les espaces, et les caractères accentués qui apparaissent sous
forme de code numérique.

Ex :Abandon%2520de%2520famille.pdf
il me faudrait : abandon de famille.pdf

Je ne connais ni le code qui correspond à %2520 ( ascii ? )


À priori c'est un double encodage. L'espace de ton fichier d'origine est
transformé en code hexa pour encodage d'une URL : "%20". Ensuite ce nom est
encore une fois réencodé de la même façon (sûrement une erreur lié à la
récupération de ce nom) : le % est réencodé en hexa ce qui donne %25. Ton
" " devient après ce double encodage "%2520". Un triple aurait donné
"%252520"...



Oui j'ai cherché dans la doc d'apache et n'est rien trouvé, donc j'ai
pensée à un script via iconv, je ne suis même pas sur que le choix de
la commande soit judicieux ...
Une solution, serait très appréciable !

Merci

Ptilou

--
Ab uno disce omues


Avatar
Jérémy JUST
Le Sun, 19 Aug 2007 09:57:22 -0000,

Ex :Abandon%2520de%2520famille.pdf
L'espace de ton fichier d'origine est transformé en code hexa pour

encodage d'une URL : "%20". Ensuite ce nom est encore une fois
réencodé de la même façon (sûrement une erreur lié à la récupération
de ce nom)
j'ai cherché dans la doc d'apache et n'est rien trouvé



Je ne pense pas que ce soit l'endroit le plus pertinent.


Une solution, serait très appréciable !


$ perl -e '$n=$_=shift;
s/%([A-F0-9]{2})/chr(hex($1))/eig;
s/%([A-F0-9]{2})/chr(hex($1))/eig;
rename $n, $_'
Abandon%2520de%2520famille.pdf


--
Jérémy JUST



Avatar
ptilou
On 19 août, 12:49, Jérémy JUST wrote:
Le Sun, 19 Aug 2007 09:57:22 -0000,

Ex :Abandon%2520de%2520famille.pdf
L'espace de ton fichier d'origine est transformé en code hexa pour

encodage d'une URL : "%20". Ensuite ce nom est encore une fois
réencodé de la même façon (sûrement une erreur lié à la récupération
de ce nom)
j'ai cherché dans la doc d'apache et n'est rien trouvé



Je ne pense pas que ce soit l'endroit le plus pertinent.

Une solution, serait très appréciable !


$ perl -e '$n=$_=shift;
s/%([A-F0-9]{2})/chr(hex($1))/eig;
s/%([A-F0-9]{2})/chr(hex($1))/eig;
rename $n, $_'
Abandon%2520de%2520famille.pdf


Je ne redémarerais même pas un UNIX pour çà !

Ptilou

--
Yon sexy lady, by no, by no ....