IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Connaître l'encodage d'une châine de caractères ?


Sujet :

Python

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Connaître l'encodage d'une châine de caractères ?
    Bonjour à tous,

    Je voudrais savoir comment connaître l'encodage d'une chaîne de caractère passée en argument à ma fonction. je m'explique : je suis en train de faire un petit script qui transforme l'encodage de mes fichiers en utf8.
    Donc je fais un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    unic = unicode(argument,'encodage_de_argument')
    final = unci.encode('utf8')
    mais pour ça il me faudrait une fonction qui donne le fameux encodage_du_fichier.

    Quelqu'un connaît-il cela ?

    Merci d'avance !

  2. #2
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut
    l'encodage des fichiers n'est pas spécifié dans les fichier on ne peut pas le récupérer...

    une solution possibilité est (sur les fichiers français) de chercher les correspondances aux caractere mal encodé.


    exemple :
    tu as un fichier en codage iso.
    tu l'ouvre en codage utf8
    tu cherche la chaine 'é' (qui corespond au 'é') (pour les textes fr)
    si tu le trouve tu peux conclure que c encodé en iso ...

    Je trouve cette technique pourri car il se peut qu'il n y ai pas de 'é' dans le fichier de base ou que la personne est volontairement voullu mettre 'é' mais ce n'est pas ca qui te donne vraiment dans quel encodage a été encodé le fichier mais seulement des "supositions" de plus si tu change de langue de fichier cela ne fera pas la même chose ...

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Ouille ! Voilà qui est embêtant !
    En fait les fichiers windows sont encodés en iso ??? Car je pense que c'est la majorité de ce que je devrai convertir. Je suppose que si on fait un unicode(iso) sur un truc qui est pas iso, il rend une erreur. Je pourrais mettre une exception alors, non ?


    Merci pour ta réponse

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Points : 923
    Points
    923
    Par défaut
    Aucune exception en général, simplement des caractères mal interprétés.
    Le codage utilisé par Windows pour les langues d'Europe de l'Ouest est cp1252

Discussions similaires

  1. Connaître l'Encodage d'une chaine
    Par Mr T dans le forum Langage
    Réponses: 1
    Dernier message: 04/08/2013, 12h33
  2. Réponses: 9
    Dernier message: 18/11/2010, 14h51
  3. Réponses: 5
    Dernier message: 10/09/2009, 11h37
  4. Réponses: 2
    Dernier message: 11/07/2006, 14h52
  5. [Débutant]Encodage d'une chaine de caractères
    Par Crazyblinkgirl dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 03/08/2004, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo