Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Python]UnicodeDecodeError

'ascii' codec can't decode byte position

Sujet résolu
    13 décembre 2006 à 14:21:42

    Salut,

    J'ai une erreur sur ce code. Visiblement il ne parvient pas à décoder les phrases...
    Quelqu'un a un idée?
    Merci d'avance ^^

    UnicodeDecodeError: 'ascii' codec can't decode byte position16: original not in range(128)

    #!/usr/bin/python
    # -*- coding: iso-8859-15 -*-

    import wx

    phrase1 = "Ramener l'image à sa taille d'origine"
    phrase2 = "Opération interdite"

    if not wx.USE_UNICODE:
            phrase1 = phrase1.encode("iso-8859-15", replace) #<=Erreur
            phrase2 = phrase2.encode("iso-8859-15", replace)
    • Partager sur Facebook
    • Partager sur Twitter
      13 décembre 2006 à 15:04:02

      c'est probablement le à qui merde car code ascii sup à 128
      • Partager sur Facebook
      • Partager sur Twitter
        13 décembre 2006 à 15:26:23

        Ouai c'était le 'à' dans la première ligne et le 'é' dans la 2ème... Mais à moins que j'ai mal compris, le but de l'opération, c'est pas justement de faire passer ce genre de caractèes??? o_O

        Du coup j'ai une autre erreur sur la suite du code mais j'peux pas la voir. Une fenêtre blanche s'ouvre en plus de la console, à l'interieur doit sûrement s'afficher un résultat et l'erreur en question. Mais je n'ai rien le temps de voir puisqu'elle me fait le même coup que la console en s'ouvrant et se refermant aussitôt. Que faire? :(
        • Partager sur Facebook
        • Partager sur Twitter
          13 décembre 2006 à 18:59:44

          Hum.
          replace n'est pas une constante.
          Tu doit le mettre en single quotes ;) ==> 'replace'.
          C'est un paramètre string :)


          Bisous, Nyu
          • Partager sur Facebook
          • Partager sur Twitter
            14 décembre 2006 à 9:24:22

            J'ai fait la modification et toujours la même erreur...

            Sinon pas de moyen de stopper l'éxécution de la fenêtre blanche pour voir ce qui y est écrit Ca serait le plus important en fait.

            :(
            • Partager sur Facebook
            • Partager sur Twitter
              14 décembre 2006 à 11:09:11

              Si tu fais tout ça parce que tes phrases font planter le programme quand tu cherche à les faire passer dans une fenêtre wxpython il suffit simplement de modifier ta façon d'inclure du texte.

              Par exemple ce code plante chez moi avec une erreur unidecodeerror (je ne met pas le code en couleur parce que ça a l'air de buguer aujourd'hui la coloration du code python):

              # -*- coding: iso-8859-1 -*-

              import wx

              titre='éèùçà'

              app=wx.App()

              frame=wx.Frame(None,-1,titre)

              frame.Show()

              app.MainLoop()


              Pour passer la chaine fautive en unicode pour accepter des caractères ayant un code supérieur à 128 il suffit de rajouter la lettre u devant la chaine: titre=u'éèùçà'

              Ce qui fait que ce code là ne plante pas:

              # -*- coding: iso-8859-1 -*-

              import wx

              titre=u'éèùçà'

              app=wx.App()

              frame=wx.Frame(None,-1,titre)

              frame.Show()

              app.MainLoop()


              Pour la fenêtre blanche c'est bizarre qu'elle se ferme, normalement quand il y a une erreur la fenêtre principale du programme disparait mais la blanche reste ouverte puisque justement son utilité est entre autre de lister les erreurs. Toutefois il me semble que si tu a vraiment une grosse erreur critique au niveau de Python lui même alors ça ferme tout sans réfléchir, mais c'est normalement des cas assez rares, si ça continue à te la faire à chaque erreur dans tes futurs programmes c'est qu'il y a effectivement un problème.
              • Partager sur Facebook
              • Partager sur Twitter
                15 décembre 2006 à 20:36:55

                Ca me le fait depuis toujours quand j'ai une erreur sur un code qui utilise du graphique... Donc y'a un problème, mais lequel
                • Partager sur Facebook
                • Partager sur Twitter

                [Python]UnicodeDecodeError

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown