Bonjour, je ne connais pas le Perl, mais je pense que ce sera l'outil
le plus adapté pour une ligne d'un script shell que je suis en train
d'écrire. À un endroit, je dois filtrer la sortie standard du processus
précédent, pour que tout caractère non ASCII (on a affaire à de l'UTF-8)
soit converti en son "numeric character reference" : 葉
Je suppose qu'une seule ligne de commande doit suffire (lancement de perl
y compris), mais je ne sais comment faire. Pouvez-vous m'aider ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Nicolas George
dd wrote in message <44f697ef$0$7642$:
Bonjour, je ne connais pas le Perl, mais je pense que ce sera l'outil le plus adapté pour une ligne d'un script shell que je suis en train d'écrire. À un endroit, je dois filtrer la sortie standard du processus précédent, pour que tout caractère non ASCII (on a affaire à de l'UTF-8) soit converti en son "numeric character reference" : 葉
La première chose à faire est de passer l'entrée standard en mode de conversion UTF-8 -> Unicode :
binmode STDIN, ":utf8";
ensuite, la fonction ord permet d'obtenir le code, et un s/.../.../ge me semble tout à fait adapté :
s/([^x00-x7E])/sprintf "&#x%04x;", ord $1/ge
dd wrote in message <44f697ef$0$7642$636a55ce@news.free.fr>:
Bonjour, je ne connais pas le Perl, mais je pense que ce sera l'outil
le plus adapté pour une ligne d'un script shell que je suis en train
d'écrire. À un endroit, je dois filtrer la sortie standard du processus
précédent, pour que tout caractère non ASCII (on a affaire à de l'UTF-8)
soit converti en son "numeric character reference" : 葉
La première chose à faire est de passer l'entrée standard en mode de
conversion UTF-8 -> Unicode :
binmode STDIN, ":utf8";
ensuite, la fonction ord permet d'obtenir le code, et un s/.../.../ge me
semble tout à fait adapté :
Bonjour, je ne connais pas le Perl, mais je pense que ce sera l'outil le plus adapté pour une ligne d'un script shell que je suis en train d'écrire. À un endroit, je dois filtrer la sortie standard du processus précédent, pour que tout caractère non ASCII (on a affaire à de l'UTF-8) soit converti en son "numeric character reference" : 葉
La première chose à faire est de passer l'entrée standard en mode de conversion UTF-8 -> Unicode :
binmode STDIN, ":utf8";
ensuite, la fonction ord permet d'obtenir le code, et un s/.../.../ge me semble tout à fait adapté :
s/([^x00-x7E])/sprintf "&#x%04x;", ord $1/ge
Klaus
dd wrote:
Bonjour, je ne connais pas le Perl,
je propose donc http://perl.enstimac.fr/DocFr/perlintro.html