Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 29-05-2018 19:27:51

PSM
Invité

Probleme de Décryptage avec Python

Bonjour,
J'ai effectuer un programme de codage et un de décodage python avec l'algorithme de Cesar. Celui de codage marche à merveille mais celui de décodage ne fonctionne pas. En effet, je voudrais que, quand le code est lancé, il demande le code crypter pour le décrypter.
j'ai donc ajouter cette commande:
print "Entrez le texte à décrypter"
text=raw_input()

Le probleme est que quand je lance le programme ça me m'est ça :
Entrez le texte à crypter
ÂKVÉÇÛMOÂÇÛWYS

Traceback (most recent call last):
  File "/Users/familledesaintmaurice 1/Desktop/decrypt.py", line 9, in <module>
    message = message.decode("utf-8").upper()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xc2' in position 0: ordinal not in range(128)

Alors que j'ai mis cette commande sur le cryptage est ça marche parfaitement.

Pouvez vous m'aidez svp ?

Merci d'avance.

#2 29-05-2018 20:20:29

tibo
Membre expert
Inscription : 23-01-2008
Messages : 1 097

Re : Probleme de Décryptage avec Python

Salut,

Il faudrait avoir le code pour pouvoir te répondre plus précisément, au moins la fonction dont est tirée ta ligne 16 (celle qui renvoie une erreur).

Je n'ai pas réussi à reproduire ton erreur, mais je n'ai jamais utilisé le module codecs, donc je ne suis pas certain de savoir comment utiliser ses fonctions.
Cependant, j'ai l'impression que l'erreur vient du fait que certains caractères de ton texte (le  notamment) ne font pas partie des tables acii, et dont il n'arrive pas à l'encoder.

Dans l'attente de voir ton code, ou que quelqu'un de plus expert que moi passe par là.


A quoi sert une hyperbole?
----- A boire de l'hypersoupe pardi !

Hors ligne

#3 29-05-2018 20:37:13

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 989

Re : Probleme de Décryptage avec Python

Bonsoir,

Il y a déjà un problème avec les caractères accentués et/ou spéciaux comme ç ï etc... avec la branche Python 2.x.
Le problème est résolu avec la branche Python 3.x...

Ensuite, il faudrait être sur que le décodage fonctionne avec une phase ne comprenant aucun de ces fameux caractères...
C'est à dire ces seuls caractères : https://fr.wikibooks.org/wiki/Les_ASCII … able_ASCII
exclu
Le message d'erreur dit que le  n'a pas un code compris entre 0 et 128 (exclu). Normal ! le code ASCII (étendu est 194) : cf sortie en Python 3.5

>>> ord('Â')
194
>>> print (chr(194))
Â
>>>

Essaie ce que je te dis et poste ton programme.

Et si tu tiens à rester à la version 2.7, si le pb vient réellement de cette histoire d'encodage utf-8 qui est difficile à gérer en  Python 2.x; je tâcherai demain de te donner des pistes... J'ai abandonné Python 2.7 en partie à cause de ça...

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

Pied de page des forums