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 :

conversion de caractéres [Fait]


Sujet :

Python

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2005
    Messages : 46
    Points : 58
    Points
    58
    Par défaut conversion de caractéres
    Bonjour !

    Je débute en python et j'aimerais trouver le moyen d' obtenir la valeur binaire d'un caractére, le but étant d'ouvrir un fichier, de lister tous ses caractéres, et de créer un nouveau fichier contenant la représentation binaire de ces caractéres.
    Par avance merci

  2. #2
    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
    Tu veux dire que le fichier de sortie sera une suite de 0 et de 1?
    Si c'est ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    def bin(n):
        """Convertit un nombre en binaire"""
        q = -1
        r = -1
        res = ''
        while q != 0:
            q = n / 2
            r = n % 2
            res = `r` + res
            n = q
        return res
     
    fd = open(input_file, 'rb') #Ouverture du fichier d'entrée en mode binaire
    data = fd.read() #Lecture des données
    fd.close()
     
    fd = open(output_file, 'w') #Ouverture du fichier de sortie
    for c in data:
        fd.write(bin(ord(c)).zfill(8)) #Ecriture de la représentation binaire
    fd.close()
    ord() pour obtenir le code ASCII d'un caractère et bin() pour le convertir en binaire
    zfill() pour faire du nombre binaire un octet

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2005
    Messages : 46
    Points : 58
    Points
    58
    Par défaut
    C'est tout à fait ça, merci !

  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
    Un petit pour la route?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [pb de caractere] Conversion de caractères accentué pour url
    Par smyley dans le forum Général Conception Web
    Réponses: 7
    Dernier message: 04/11/2005, 15h55
  2. [VB.NET] Conversion de caractères
    Par WriteLN dans le forum Windows Forms
    Réponses: 8
    Dernier message: 17/03/2005, 08h45
  3. [DOS] batch et conversion de caractères
    Par lujayne dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 14/12/2004, 16h05
  4. [DB2][Access]Conversion de caractères
    Par BAYRAL dans le forum DB2
    Réponses: 2
    Dernier message: 12/10/2004, 10h00
  5. Conversion et re-conversion des caractères reservé à MySQL
    Par Didier100 dans le forum Bases de données
    Réponses: 4
    Dernier message: 30/06/2004, 14h23

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