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

 C Discussion :

texte en hexa


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Juin 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 7
    Par défaut texte en hexa
    bonjour tout le mode,
    Comment faire pour transformer un texte (string) en hexadecimal?
    Merci !!

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 487
    Par défaut
    Bonjour,

    C'est trop vague. Est-ce que tu veux vraiment afficher sous forme hexadécimale le contenu d'un fichier qui contient vraiment du texte, à la manière d'un « dump » ou disposes-tu en fait d'un nombre écrit sous forme hexadécimale qui tu voudrais affecter à une variable ?

    Dans le premier cas, en C, le plus simple est d'itérer sur la chaîne et d'utiliser printf pour faire la conversion :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <stdio.h>
     
    int main (void)
    {
        char const * chaine = "Bonjour";
     
        while (*chaine!='\0') printf ("%02x",(unsigned char)*chaine++);
        return 0;
    }
    426f6e6a6f7572
    Est-ce un devoir scolaire ?

  3. #3
    Membre régulier
    Inscrit en
    Juin 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 7
    Par défaut c'est bon!
    tu a repondu a ma question

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 487
    Par défaut
    Citation Envoyé par Susette Voir le message
    tu a repondu a ma question
    J'en suis heureux mais toi, par contre, tu n'as pas répondu à la mienne : est-ce un devoir scolaire ?

  5. #5
    Membre régulier
    Inscrit en
    Juin 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 7
    Par défaut Non justeun test
    Je débute le codage en c , et je voulais "m'amuser".
    Mes devoirs scolaires ne ressemblent pas a cela

  6. #6
    Membre averti
    Inscrit en
    Juillet 2013
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 17
    Par défaut
    Bonjour!
    J'ai regarder un peu le code le doe de Obsidian et j'ai un probleme:
    dans mon cas , fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    void vFDriverSigfoxHexa( TUCHAR * pucStr, TUCHAR ucSizeStr)
    {
     TCHAR *pcNewStr = new TCHAR[ucSizeStr];
     TUCHAR *pucOld = pucStr;
     TCHAR *pcNew = pcNewStr;
     TINT iBoucle;
     
     for( iBoucle=0 ; iBoucle < ucSizeStr ; iBoucle++ )
       {
         sprintf( pcNew , "%02x", ( TUCHAR ) *pucOld++);
         pcNew+=2;
       }
     
    }
    void vFDriverSigfoxSendMsg( TCONST TUCHAR * pucByte, TUCHAR ucSize )
    {
     //transformation du message à envoyer en hexa
     vFDriverSigfoxHexa( (TUCHAR *) pucByte, ( TUCHAR ) strlen(pucByte) );
     
    pucChaineConcat = strcat( ( TCHAR *)"AT$SS=", ( TCONST TCHAR *) pucByte );
        // Taille de la chaine "AT$SS=ptByte" concaténée
     ucSize = ( strlen( "AT$SS" ) + strlen( pucByte ) + 1 );
     
     //Emission du message
     tSerialStream.uxFTxWrite( pucChaineConcat , ucSize );
    }

    ca me renvoie:
    AT$SS=top%02

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

Discussions similaires

  1. [Débutant] Convertion texte en hexa
    Par Susette dans le forum C++Builder
    Réponses: 2
    Dernier message: 27/06/2013, 14h12
  2. recuperer du texte dans un fichier en hexa
    Par Euseibus dans le forum Langage
    Réponses: 7
    Dernier message: 24/02/2009, 17h37
  3. convertir un fichier hexa en texte
    Par gedeon555 dans le forum VBScript
    Réponses: 0
    Dernier message: 17/08/2008, 09h44
  4. extraction hexa -> texte
    Par pimous dans le forum Langage
    Réponses: 2
    Dernier message: 23/04/2008, 13h56
  5. Convertir texte en hexa
    Par kalou26 dans le forum C++Builder
    Réponses: 1
    Dernier message: 27/04/2007, 16h26

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