Comment Convertir un texte en son équivalent binaire? [Résolu/Fermé]

Signaler
Messages postés
7
Date d'inscription
samedi 19 octobre 2013
Statut
Membre
Dernière intervention
10 juillet 2014
-
Messages postés
1
Date d'inscription
mercredi 10 juin 2015
Statut
Membre
Dernière intervention
10 juin 2015
-
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

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

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
7
Date d'inscription
samedi 19 octobre 2013
Statut
Membre
Dernière intervention
10 juillet 2014

Non pas du tout, j'ai mis ça au hasard, pour l'exemple. Je pense plutôt que les équivalents binaires sont sur 32 bits.
Merci beaucoup, ça marche parfaitement comme ça. :)
Messages postés
1
Date d'inscription
mercredi 10 juin 2015
Statut
Membre
Dernière intervention
10 juin 2015
1
Et comment on fait l'inverse ?