• [^] # Re: Commande file

    Posté par (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é à 6.

    C'est possible techniquement et sans aucun doute très facile à faire (en plus file est écrit en C). En outre file m'a l'air d'être encore développé/maintenu. Ensuite je me dis que c'est le genre de projet où ils veulent sûrement limiter l'usage de dépendances au maximum (de ce que je vois dans leur build, il n'y a que des dépendances à des bibliothèques de compression), donc ce serait possiblement le point bloquant. Mais ça ne coûte rien de demander. Le suivi de bug/demande de fonctionnalité se fait là apparemment: https://bugs.astron.com/view_all_bug_page.php

    Et puis je suis d'accord que si ce logiciel souhaite prétendre savoir faire cela, autant le faire bien (ou pas du tout). D'ailleurs je viens de jeter un œil au code de détection de charset (dans src/encoding.c), et comme je m'y attendais, c'est une logique totalement naïve:

     * A file is considered to be ISO-8859 text if its characters are all
     * either ASCII, according to the above definition, or printing characters
     * from the ISO-8859 8-bit extension, characters 0xA0 ... 0xFF.
     *
     * Finally, a file is considered to be international text from some other
     * character code if its characters are all either ISO-8859 (according to
     * the above definition) or characters in the range 0x80 ... 0x9F, which
     * ISO-8859 considers to be control characters but the IBM PC and Macintosh
     * consider to be printing characters.

    D'ailleurs de ce que j'entrevois du code, je crois que tout texte "ISO-8859" retourne "iso-8859-1" avec l'option -i qui n'est donc en fait pas plus précise du tout. Le code ne m'a l'air de faire aucune différence entre les charsets de cette famille (ou d'autres famille de charsets mono-octets) et l'option -i semble juste produire un format de sortie différent mais pas vraiment faire plus de traitement.

    Enfin bon, oui, s'ils veulent vraiment prétendre à donner un charset précis pour des fichiers sans métadonnées, ce programme aurait tout intérêt à utiliser uchardet, au moins de manière optionnelle. Je suis d'accord. N'hésitez pas à le leur proposer en ouvrant un rapport de bug.

    Film d'animation libre en CC by-sa/Art Libre, fait avec GIMP et autre logiciels libres: ZeMarmot [ http://film.zemarmot.net ]