Je connais pas recode, alors je viens de l'installer et je suis en train de regarder son man mais j'ai pas l'impression du tout qu'il fasse de la détection de charset, juste de la conversion.
D'ailleurs même en cherchant sur le web, je vois que c'est une problématique de savoir quel est le charset de base, puisque les gens cherchaient comment n'utiliser cet outil que conditionnellement en fonction du charset (bon le lien est une vieille question, donc ils essaient divers ruses un peu bancales; de nos jours, on conseillerait un outil tel que uchardet). Donc j'ai pas l'impression que recode fasse de détection du tout, si?
Et donc si confirmé, cet outil est plutôt dans la catégorie d'iconv que d'uchardet. Ce qui fait que même si je l'avais connu, je l'aurais sûrement pas cité. Ce qui devrait répondre doublement à ta question ([1] je connaissais pas et [2] il fait quelque chose d'autre).
Ceci dit, merci de la découverte, cet outil me paraît très intéressant. Déjà j'aime beaucoup la façon dont il liste les charsets: recode -l liste par lignes d'alias, alors que iconv -l liste tout en bordel. La question de savoir si un nom est l'alias d'un autre ou une variante légèrement différente (ou complètement différent même) est une grosse question que je me suis souvent posée (dont la quête de réponse obligeait jusque là à faire des recherches laborieuses) et j'envisageais même de faire un script pour répondre à ce type de question. Bon recode répond pas entièrement à toutes les questions (seulement les alias), mais c'est déjà très bien.
J'aime aussi beaucoup cette option --find-subsets car la question de savoir quel charset est un sous-ensemble de quel autre charset est aussi une grosse problématique. C'est vraiment super.
Bon par contre, maintenant ça m'apporte potentiellement de nouveaux problèmes, du genre pour les noms de charsets légèrement différents, et savoir quoi correspond à quoi d'un outil à l'autre. J'avais déjà eu la problématique posée en m'apercevant qu'il y a en fait 2 implémentations d'iconv (GNU libc et GNU libiconv) qui peuvent avoir des noms de charset légèrement différents (on a eu au moins un cas rapporté parce qu'il s'avère que sur macOS, ils ont la version libiconv installée qui utilise MACCENTRALEUROPE pour un charset appelé MAC-CENTRALEUROPE dans glibc!). Du boulot en plus quoi!
Pour ça, je te remercie pas, monsieur! (non, j'rigole! 😁)
Enfin bon, j'envisageais déjà de probablement ajouter une API pour permettre de choisir le format de sortie (je voulais faire ça pour glibc vs libiconv; je suppose que je pourrais rajouter recode maintenant).
Film d'animation libre en CC by-sa/Art Libre, fait avec GIMP et autre logiciels libres: ZeMarmot [ http://film.zemarmot.net ]
[^] # Re: quid de recode ?
Posté par Jehan (site web personnel, Mastodon) . En réponse à la dépêche Sortie de uchardet 0.0.8 pour la détection de codages de caractères. Évalué à 7.
Je connais pas
recode, alors je viens de l'installer et je suis en train de regarder sonmanmais j'ai pas l'impression du tout qu'il fasse de la détection de charset, juste de la conversion.D'ailleurs même en cherchant sur le web, je vois que c'est une problématique de savoir quel est le charset de base, puisque les gens cherchaient comment n'utiliser cet outil que conditionnellement en fonction du charset (bon le lien est une vieille question, donc ils essaient divers ruses un peu bancales; de nos jours, on conseillerait un outil tel que uchardet). Donc j'ai pas l'impression que
recodefasse de détection du tout, si?Et donc si confirmé, cet outil est plutôt dans la catégorie d'iconv que d'uchardet. Ce qui fait que même si je l'avais connu, je l'aurais sûrement pas cité. Ce qui devrait répondre doublement à ta question ([1] je connaissais pas et [2] il fait quelque chose d'autre).
Ceci dit, merci de la découverte, cet outil me paraît très intéressant. Déjà j'aime beaucoup la façon dont il liste les charsets:
recode -lliste par lignes d'alias, alors queiconv -lliste tout en bordel. La question de savoir si un nom est l'alias d'un autre ou une variante légèrement différente (ou complètement différent même) est une grosse question que je me suis souvent posée (dont la quête de réponse obligeait jusque là à faire des recherches laborieuses) et j'envisageais même de faire un script pour répondre à ce type de question. Bonrecoderépond pas entièrement à toutes les questions (seulement les alias), mais c'est déjà très bien.J'aime aussi beaucoup cette option
--find-subsetscar la question de savoir quel charset est un sous-ensemble de quel autre charset est aussi une grosse problématique. C'est vraiment super.Bon par contre, maintenant ça m'apporte potentiellement de nouveaux problèmes, du genre pour les noms de charsets légèrement différents, et savoir quoi correspond à quoi d'un outil à l'autre. J'avais déjà eu la problématique posée en m'apercevant qu'il y a en fait 2 implémentations d'iconv (GNU libc et GNU libiconv) qui peuvent avoir des noms de charset légèrement différents (on a eu au moins un cas rapporté parce qu'il s'avère que sur macOS, ils ont la version libiconv installée qui utilise MACCENTRALEUROPE pour un charset appelé MAC-CENTRALEUROPE dans glibc!). Du boulot en plus quoi!
Pour ça, je te remercie pas, monsieur! (non, j'rigole! 😁)
Enfin bon, j'envisageais déjà de probablement ajouter une API pour permettre de choisir le format de sortie (je voulais faire ça pour glibc vs libiconv; je suppose que je pourrais rajouter recode maintenant).
Film d'animation libre en CC by-sa/Art Libre, fait avec GIMP et autre logiciels libres: ZeMarmot [ http://film.zemarmot.net ]