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 17: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 18:20:29

tibo
Membre actif
Inscription : 23-01-2008
Messages : 1 073

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 18:37:13

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 13 502

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

Réponse rapide

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
soixante et un plus soixante dix-neuf
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Pied de page des forums