Convertisseur de texte en binaire ou héxadécimal

Projets

Ce projet est un convertisseur de texte en une écriture binaire ou bien hexadécimal. Une chaine de caractère est codée soit en binaire, soit en hexadécimal.

Présentation du programme

Le programme commence simplement par demander a l’utilisateur si il souhaite convertir son message en binaire ou en héxadécimal , pour cela nous avons utilisé une boucle en while :

def menu():
    print("Souhaitez vous transcrire votre message en binaire ou hexadécimal ?")
    print("1. binaire")
    print("2. hexadécimal")
    choix = 0
    while choix==0:
        choix = int(input("="))
    if choix==1 :
        fonction1()
    elif choix==2 :
        fonction2()
    else :
            menu()

Nous avons donc crée une fonction appelée menu() que nous avons définie. A l’intérieur le programme demande à l’utilisateur en quel langage il souhaite convertir son message et il lui montre les deux possibilités ( ici 1.binaire et 2.hexadécimal ) . On crée une valeur appelé choix qui représente le choix de langage de l’utilisateur , tant que cette valeur est égal a 0 le programme va demander à l’utilisateur de lui affectée une valeur. Alors si la valeur et égal à 1 le programme exécutera la fonction1() , si la valeur est égal a 2 le programme exécutera la fonction2() et si l’utilisateur ne rentre pas une de ces deux valeurs le programme lui affiche a nouveau la fonction menu() pour que l’utilisateur puisse relire les choix proposés rentrer une valeur reconnaissable par le programme.

Il faut ensuite demander à l’utilisateur le message qu’il souhaite convertir , mais il faut aussi découper son message caractères par caractères pour pouvoir ensuite convertir chaque caractères en son équivalent en binaire ou hexadécimal. Nous avons donc crée une fonction appelée split() (divise en anglais) :

def split(word):
    return list(word)
word = input(print("Faites-moi part de votre message secret :"))

La commande list découpe la valeur de word caractère par caractère et transforme le message on une liste de caractères. Et on demande à l’utilisateur de rentrer son message.

Retour ligne automatique

Après il ne nous reste plus qu’a définir les fonctions 1 et 2 :

def fonction2():
    print(hex(int.from_bytes(word.encode(), 'big'))[2:])
 
def fonction1():
    d = word.encode()
    for i in d:
        print(bin(i)[2:])

La fonction1() sert à convertir le message de l’utilisateur en binaire. On crée une valeur nommée d dans laquelle on code le message de l’utilisateur grâce à la commande .encode qui va convertir la valeur de word (donc convertir chaque caractère de la liste) en son équivalent se trouvant dans UNICODE (un système qui classes tous les caractères de toutes les langues répertoriées et qui leurs attribue une un code ). On affiche ensuite chaque caractères de d converti avec la commande bin qui converti un code UNICODE en binaire , et on rajoute [2 :] pour supprimer deux caractères écrit qui sont normalement utilisés pour dire en quel langage s’affiche la valeur converti par bin.

La fonction2 sert à convertir message de l’utilisateur en hexadécimal . On a utilisé ici une autre manière qui fonctionne de même que pour celle de la fonction1 , on code le message de l’utilisateur avec .encode , on luit demande de convertir cela en hexadécimal avec la commande hex , on lui dit de bien commencer par la début avec ’big’, et encore une fois on supprime les deux premiers caractères codés grâce à [2 :] .

Etat final du projet

def fonction2():
    print(hex(int.from_bytes(word.encode(), 'big'))[2:])
 
def fonction1():
    d = word.encode()
    for i in d:
        print(bin(i)[2:])
 
def split(word):
    return list(word)
word = input(print("Faites-moi part de votre message secret :"))
 
def menu():
    split(word)
    print("Souhaitez vous transcrire votre message en binaire ou hexadécimal ?")
    print("1. binaire")
    print("2. hexadécimal")
    choix = 0
    while choix==0:
        choix = int(input("="))
    if choix==1 :
        fonction1()
    elif choix==2 :
        fonction2()
    else :
            menu()
         
menu()

Conclusion

C’est un programme assez simple qui permet de comprendre comment utiliser des fonctions , ainsi que l’utilisation de certaines commandes utiles .