Liste hexadécimale en python
Résolu
LucasBou
Messages postés
9
Statut
Membre
-
LucasBou Messages postés 9 Statut Membre -
LucasBou Messages postés 9 Statut Membre -
Bonjour,
J'ai ce code
def ascii2hex(caractere):
return hex(ord(caractere))
def ascii2hexa_liste(liste):
aux = []
for elem in liste:
aux.append(ascii2hex(elem))
return aux
chaine = raw_input("Chaine a coder : ")
liste_hexa = ascii2hexa_liste(list(chaine))
print liste_hexa
Le programme fait rentrer une chaine de caractères puis la traduit en une liste en hexadécimal. Chaque chiffre en hexadécimal commence par 0x.
J'aimerais pour faire sortir la liste sans les 0x devant chaque chiffre
Merci d'avance pour votre aide :)
J'ai ce code
def ascii2hex(caractere):
return hex(ord(caractere))
def ascii2hexa_liste(liste):
aux = []
for elem in liste:
aux.append(ascii2hex(elem))
return aux
chaine = raw_input("Chaine a coder : ")
liste_hexa = ascii2hexa_liste(list(chaine))
print liste_hexa
Le programme fait rentrer une chaine de caractères puis la traduit en une liste en hexadécimal. Chaque chiffre en hexadécimal commence par 0x.
J'aimerais pour faire sortir la liste sans les 0x devant chaque chiffre
Merci d'avance pour votre aide :)
2 réponses
-
Ok, dans cette fonction on doit pouvoir faire la totale
def ascii2hex(caractere):
return hex(ord(caractere))[2:]
Puis modifier votre fonction ascii2hexa_liste par
def ascii2hexa_liste(chaine):
for elem in chaine:
yield ascii2hex(elem)
Pour le résultat final
chaine = raw_input("Chaine a coder : ")
print ''.join(ascii2hexa_liste(chaine))
Non testé...
Si ça ne fonctionne pas, garder comme avant et ne modifier que la fonction ascii2hex comme ci-dessus.-
-
-
-
Désolé, j'ai pu m'empêcher de tester et c'est fonctionnel, c'est rare de réussir à la main du 1er coup, mais je voyais pas mon erreur, normal, car il n'y en avait pas ;)
Voilà mon test sur l'interpréteur
>>> def ascii2hex(caractere):
... return hex(ord(caractere))[2:]
...
>>> def ascii2hexa_liste(chaine):
... for elem in chaine:
... yield ascii2hex(elem)
...
>>> chaine = raw_input("chaine à coder : ")
chaine à coder : Bonjour
>>> print ''.join(ascii2hexa_liste(chaine))
426f6e6a6f7572
Bonne continuation... -
-
-