IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Problème de conversion d'un caractère en code ASCII


Sujet :

Qt

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2011
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 18
    Points : 12
    Points
    12
    Par défaut Problème de conversion d'un caractère en code ASCII
    Bonjour,

    Voila mon problème: Dans une QlineEdit je recois le caractère ÿ. J'aimerai le remplacer par son code ascii soit 255 ou FF en hexa.
    http://purebasic.developpez.com/docu...nce/ascii.html

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    QString tempstring;
    ui->lineEdit_5->setText("ÿ");  //le caractère à convertir en FF
    tempstring.setNum(ui->lineEdit_5->text().toAscii().toInt(0,16)); 
    ui->lineEdit_5->setText(tempstring);
    Je me retrouve avec la valeur 0 dans le lineEdit_5 au lieu d'avoir FF.

    Je vous remercie de votre aide

  2. #2
    Rédacteur
    Avatar de Amnell
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    1 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 840
    Points : 5 545
    Points
    5 545
    Par défaut
    Bonsoir,

    Qu'obtenez-vous avec ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    QString tmp = "ÿ";
    QByteArray array = tmp.toAscii();
     
    QString asciiText;
     
    for (int i = 0; i < array.size(); ++i)
        asciiText.append(QString::number(array.at(i)));
     
    ui->lineEdit_5->setText(asciiText);
    Bonne continuation,
    Amnell.

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2011
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 18
    Points : 12
    Points
    12
    Par défaut
    J'obtiens la valeur -1. Et j'obtiens -1 autant de fois qu'il y a le caractère "ÿ"

    J'en déduis que c'est la fonction toAscii() qui retourne cette valeur d'erreur.
    En revanche cela fonctionne avec d'autres caractères (A, B, a, etc...)

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2011
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 18
    Points : 12
    Points
    12
    Par défaut
    En fait -1 n'est pas une valeur d'erreur. Pour le caractère "þ" il me retourne -2, pour le caractère "ý" -3 etc. La table de codage ne doit pas être la bonne

  5. #5
    Membre émérite
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Points : 2 834
    Points
    2 834
    Par défaut
    Ca ressemble à la version signée d'un nombre à la base non signé. Peut être qu'en remplaçant la ligne 7 d'Amnell par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    asciiText.append(QString::number((unsigned char) array.at(i)));

  6. #6
    Membre à l'essai
    Inscrit en
    Juillet 2011
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 18
    Points : 12
    Points
    12
    Par défaut
    Oui c'est bien ca Ymoreau. Merci bien les gars.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conversion de caractère en code ASCII
    Par jca dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 09/02/2013, 11h46
  2. Convertir du caractère au code ASCII
    Par Midou45 dans le forum Débuter
    Réponses: 3
    Dernier message: 03/05/2008, 10h43
  3. Caractère du code ascii 0x94
    Par lolita4882 dans le forum C++
    Réponses: 5
    Dernier message: 04/12/2007, 21h32
  4. Aide :convertir caractére vers code ascii
    Par MAXIMIX dans le forum C++
    Réponses: 2
    Dernier message: 19/08/2006, 10h46
  5. Réponses: 2
    Dernier message: 30/05/2006, 08h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo