Comment Convertir un texte en son équivalent binaire?

Résolu
Inariuss Messages postés 7 Statut Membre -  
maxitruc Messages postés 1 Statut Membre -
Bonjour tous le monde, je suis lycéen et je dois faire un exercice qui consiste en la rédaction d'un programme qui demande à l'utilisateur de rentrer un texte, avant de convertir ledit texte, lettre par lettre, en binaire.

Je voudrais donc savoir si pouviez m'indiquer une fonction qui permettrait de convertir une chaine en binaire.

Le code devrait ressembler à quelque chose comme ça:


Chaine=list(input("Saisissez un texte :"))

for letter in Chaine:
LettreBinaire= ///CONVERSION DE LA LETTRE EN BINAIRE///
print(lettre, "---->", LettreBinaire)


ce qui devrait donner un résultat du genre:

Saisissez un texte :
Bonjour

B--->010101110
o--->010101010
n--->101010001
j--->111010111
o--->010001110
u--->010101110
r--->101111010


J'espère avoir exposer le problème à peu près clairement...
Voila, voila, merci pour l'aide et bonne journée à tous :)

5 réponses

  1. Utilisateur anonyme
     
    Ok, il y a une fonction existante nommée bin(num) où num est la valeur décimale de ton caractère.

    Seulement pour avoir la valeur décimale, tu dois utiliser une autre fonction nommée ord(letter) où letter est ta lettre.

    >>> ord("B")
    66
    >>> bin(ord("B"))
    '0b1000010'

    On voit que le petit b dans le résultat est de trop, il faut le virer

    J'utilise une méthode nommée le slicing

    >>> bin(ord("B"))[2:]
    '1000010'

    Il faut ajouter le '0' en début de ligne

    >>> '0' + bin(ord("B"))[2:]
    '01000010'

    Maintenant pour chaque lettre de ta chaîne de caractères une boucle for fera tout simplement l'affaire

    >>> for char in "Bonjour":
    ... print('0' + bin(ord(char))[2:])
    ...
    01000010
    01101111
    01101110
    01101010
    01101111
    01110101
    01110010


    Bonne continuation...
    8