Comment Convertir un texte en son équivalent binaire?

Résolu/Fermé
Inariuss Messages postés 7 Date d'inscription samedi 19 octobre 2013 Statut Membre Dernière intervention 10 juillet 2014 - 19 oct. 2013 à 11:33
maxitruc Messages postés 1 Date d'inscription mercredi 10 juin 2015 Statut Membre Dernière intervention 10 juin 2015 - 10 juin 2015 à 19:02
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 :)
A voir également:

5 réponses

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...
7