Bonjour!
J'ai le plaisir de vous annoncer la sortie d'Utrac version 0.2. Il s'agit d'une bibliothèque et d'un utilitaire en ligne de commande dont la principale utilité est la reconnaissance automatique de jeux de caractères :
http://tech.alliancemca.net/utrac/(...)
Bien que le projet soit encore assez jeune, l'utilitaire marche déjà relativement bien. Pour la bibliothèque, il faudrait un peu plus de débugage et que j'écrive une doc et tutoriel pour l'API. Il y a bien une doc qui existe en doxygen, mais elle date de la version 0.1 et elle n'est pas encore mise à jour...
Les jeux de caractères supportés sont la série des iso, des cp (windows et dos), des Mac et l'utf-8. On peut très facilement en ajouter d'autres, à conditions qu'ils soient dérivés de l'ascii et mono-octets. La reconnaissance marche en général plutôt bien, même si il y a des problèmes avec des encodages proches (latin1, 2, 3 par ex)
Sinon, la liste des autres fonctionnalités :
- reconnaissance automatique des fins de lignes.
- prise en charge de la localisation (langage et système) pour une meilleur reconnaissance.
- tri du texte pour extraire les caractères étendus
- conversion (avec spécification de l'encodage en entrée)
Si vous avez des questions ou remarques, n'hésitez pas!
# je suis pas sur de comprendre
Posté par jraf . Évalué à 1.
http://packages.debian.org/stable/text/recode(...)
et
http://packages.debian.org/stable/utils/file(...)
[^] # Re: je suis pas sur de comprendre
Posté par calandoa . Évalué à 5.
Par rapport aux 2, il s'agit aussi d'une bibliothèque que l'on peut intégrer dans n'importe quel programme.
[^] # Re: je suis pas sur de comprendre
Posté par M . Évalué à 2.
# Equivalent en java
Posté par lampapiertramol (site web personnel) . Évalué à 3.
Je viens de découvrir cpdetector qui est un équivalent d'Ultrac en java http://cpdetector.sourceforge.net/(...)
Je compte bientôt m'en servir et serais intéressé par des témoignages d'utilisateurs (ça marche bien ?) ou par des projets similaires (toujours en java).
[^] # Re: Equivalent en java
Posté par allcolor (site web personnel) . Évalué à 2.
Pour moi, ce truc ne fonctionne pas, en tout les cas, pas comme ça devrait.
# à propos de codage...
Posté par Juke (site web personnel) . Évalué à 0.
http://sonodis.fr/test/php/page.php?id=13&prod=S61815(...)
Merci de votre aide,
Julien
[^] # Re: à propos de codage...
Posté par calandoa . Évalué à 3.
Beaucoup de pages indiquent donc à tort "iso-8859-1" alors qu'il s'agit de cp1252, étant donné qu'elles utilisent des caractères compris entre 0x80 à 0x9F. Il s'agit ici du guillement simple fermant, utilisé assez stupidement comme apostrophe (c'est une pratique malheuresement très courante chez les windowsiens).
[^] # Re: à propos de codage...
Posté par Juke (site web personnel) . Évalué à 1.
J'ai des problèmes à causes des charset pour passer de MAC -> windows -> serveur apache.
# Proposition comme ca:
Posté par Ph Husson (site web personnel) . Évalué à 3.
(Etant packageur de la plupart des paquets de la distrib que j'utilise faut que j'ai un moyen simple de surveiller, alors freshmeat powa :)
# Probleme?
Posté par Ph Husson (site web personnel) . Évalué à 3.
Il n'y a a aucun endroit mention de la version 0.2 gros oublie de ta part?
Disponible seulement sur cvs/svn/arch/jesaispasquoid'autre?
[^] # Re: Probleme?
Posté par calandoa . Évalué à 4.
J'ai récupéré la version à jour que j'ai mis sur mon site perso :
http://calandoa.free.fr/web/utrac(...)
Il s'agit en fait d'une lib qu'on a développée pour être intégrée à un autre logiciel, et on a décidé d'en faire un projet en GPL vu que la reconnaissance de charsets est un thème peu abordé par l'ensemble des LL.
La lib est par contre assez peu débugué (particulièrement la progress bar pour laquelle je me défausse de toute responsabilité quant aux segfaults qu'elle pourrait aléatoirement provoquer :^). Je suis en ce moment sur un autre développement, donc le débugage va se faire à petit rythme... Il y a par contre un petit tutoriel qu'il faudrait que j'écrive rapidement.
Désolé pour le mauvais lien...
# Parser de commandes
Posté par olympien . Évalué à 1.
Pour le parser du main (option d'utilisation, arguments, ...), ne faudrait-il pas utliser getopt ?
http://www.opengroup.org/onlinepubs/007908799/xsh/getopt.html(...)
Ca faciliterait grandement la tâche !
[^] # Re: Parser de commandes
Posté par calandoa . Évalué à 3.
# faudrait maj le site !
Posté par TImaniac (site web personnel) . Évalué à -2.
[^] # Re: faudrait maj le site !
Posté par Pascal Terjan (site web personnel) . Évalué à 4.
# Comment ça marche ?
Posté par Thomas Cataldo (site web personnel) . Évalué à 3.
Un autre signe qui me fait penser que ça ne peut pas marcher c'est que la pluspart des api sérieuse devant traiter du texte exigent de connaître par avance l'encoding du texte (sous peine de retomber par défaut à l'encoding du système) : je pense à XML (encoding UTF-8 par défaut si non précisé), je pense à java pour lequel toutes les méthodes contruisant des String à partir de byte[] demandent un encoding (celles qui ne demandent pas l'encoding sont deprecated), je pense à la glib, etc.
Je m'interresse à la question car la dans le cadre d'un projet, une application web recevait des fichiers zip et devait les décompresser. Et la specification zip datant de l'époque "tout ascii", le champ des zip contenant le nom des fichiers est du type "tableau de char". L'encoding n'est précisé nulle part. Les utilisateurs de base étant fans des accents et autre ponctuation dans les noms de fichiers, j'ai découvert que je n'arrivait pas à décompresser un zip de manière fiable (restitution correcte des noms de fichiers).
D'ou ma question, paske la reconnaissance d'encodage me semble être un but innacessible, sur lequel pas mal de gens se sont cassés les dents ou on renoncés.
[^] # Re: Comment ça marche ?
Posté par Pascal Terjan (site web personnel) . Évalué à 3.
Pour le reste je procéderais d'abord par élimination. Certains caractères sont inutilisés snas les différents charset, tu peux donc déjà te dire que ce n'est pas celui là si tu les rencontres.
Ensuite les caractères qui différent ne sont souvent pas du même type (minuscule/majuscule/ponctuation/...) donc tu dois pouvoir déterminer une probabilité que ca apparaisse la ou ca apparait. On peut aussi ajouter un dictionnaire, et entre un mot qui existe et un qui n'existe pas, préférer celui qui existe. Dans la mesure ou c'est une probabilité ce n'est certainement pas fiable à 100%. Je ne pense d'ailleurs pas qu'on puisse trouver une méthode sure.
Je n'ai pas été voir donc je ne sais pas si c'est comme celà qu'ils font ou si ils ont trouvé une super technique révolutionnaire et fiable :)
[^] # Re: Comment ça marche ?
Posté par Pascal Terjan (site web personnel) . Évalué à 3.
# noms de fichiers
Posté par ccomb (site web personnel) . Évalué à 2.
[^] # Re: noms de fichiers
Posté par gnujsa . Évalué à 3.
$ ls -d /home/gnujsa/Desktop/Téléchargements/ | utrac -p
DEBUG ut_utils.c:205: ut_load_stdin to debug!!!
UTF-8
$ touch "héhé, vive l'iso-8859-1"
$ ls héhé\,\ vive\ l\'iso-8859-1 | utrac -p
DEBUG ut_utils.c:205: ut_load_stdin to debug!!!
ISO-8859-1
$ ls héhé\,\ vive\ l\'iso-8859-1 | utrac -t UTF-8 2> /dev/null
héhé, vive l'iso-8859-1
je subodore que oui :)
Bravo et merci à calandoa pour cet outil trés pratique.
[^] # Re: noms de fichiers
Posté par Grégory SCHMITT . Évalué à 2.
/bin/ls "nomdufichier" | xxd
Si c'est de l'Unicde, les caractères acentués apparaissent avec c3 en préfixe (exemple: é se dit e9 en ISO8859-1, c3a9 en UTF-8).
[^] # Re: noms de fichiers
Posté par ccomb (site web personnel) . Évalué à 2.
http://ccomb.free.fr/wiki/wakka.php?wiki=UtfConvert(...)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.