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 :

String to hex


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de TheCaribouX
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 255
    Par défaut String to hex
    Bonjour tout le monde,

    bon là j'ai un peu honte de le demander, mais je suis en train de perdre un temps pas possible sur un probleme bidon...si quelqu'un a la générosité de m'aider (ne serait-ce que par pitié...), c'est volontiers.

    Soit un string du format "AA2F4C..." bref, qui ne contient que des charactères héxa, j'aimerais en obtenir un tableau de byte {0xAA, 0x2F, 0x4C,...}. Mon problème étant que pour l'instant je n'arrive qu'a remplir mon tableau avec la valeur hexa de chaque caractère ({0x65, 0x65, 0x50, 0x70,....}).

    Je ne demande évidemment pas la solution, mais si vous avez des indices sur la direction dans laquelle je dois aller (ma direction actuelle étant droit dans le mur ), merci d'avance!

    A+

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Indice : sscanf("%02x")... Faut juste découper un peu ta chaîne avant, c'est à dire faire une conversion manuelle de deux chiffres hexa consécutifs fournis via un char*.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #3
    Membre très actif Avatar de TheCaribouX
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 255
    Par défaut
    Ca a l'air de pas trop mal fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	int i = 0;
    	char ch[2];
     
    	for(i=0;i<20;i++){
    		ch[0] = string[(i*2)];
    		ch[1] = string[(i*2)+1];
    		sscanf(ch,"%02X",&res[i]);
    	}
     
    	return res;
    Si ça te parait acceptable (qui sait...), je vais me contenter de ca, parce que le resultat a l'air d'aller!

    Merci de ton aide!

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Rajoutes "char ch[3]" et un "ch[2]=0", et ça sera encore mieux (zéro terminal de la chaîne).
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Membre très actif Avatar de TheCaribouX
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 255
    Par défaut
    Adjugé!

    Merci beaucoup et bonne journée!

  6. #6
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    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
    #include <stdio.h>
    #include <string.h>
    #include <assert.h>
     
    int main(void)
    {
       char const * const hex_string = "00112233445566778899AABBCCDDEEFF";
       size_t const hex_string_length = strlen(hex_string);
       unsigned char res[hex_string_length / 2]; /* VLA */ 
     
       assert((hex_string_length % 2) == 0);   
     
       for(size_t i = 0; i < hex_string_length; i += 2)
       {
          if(sscanf(hex_string + i, "%02hhX", &res[i / 2]) == 0)
          {
             break; /* handle error */
          }
       }
     
       return 0;
    }

  7. #7
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 527
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 527
    Par défaut
    Citation Envoyé par TheCaribouX Voir le message
    Soit un string du format "AA2F4C..." bref, qui ne contient que des charactères héxa,A+
    une chaine de charactères ne peut pas contenir des charactères hexadécimales c'est une représentation ! censée faciliter les choses.
    On utilise l'hexa afin d'effectuer une sorte d'aggrégation de la représentation binaire.
    Pour moi une chaine de charactères c'est des 1 et des 0 soit du courant électrique ou non au niveau des diodes de ta Random Access Memory.

  8. #8
    Membre très actif Avatar de TheCaribouX
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 255
    Par défaut
    Citation Envoyé par Mat.M Voir le message
    une chaine de charactères ne peut pas contenir des charactères hexadécimales c'est une représentation ! censée faciliter les choses.
    On utilise l'hexa afin d'effectuer une sorte d'aggrégation de la représentation binaire.
    Pour moi une chaine de charactères c'est des 1 et des 0 soit du courant électrique ou non au niveau des diodes de ta Random Access Memory.
    Le principal étant que j'aie été compris, en fin de compte..

    Quel avantage aurait la solution numéro deux par rapport à celle du début?

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

Discussions similaires

  1. [XCode] String en Hex (UIColor)
    Par shadow578 dans le forum Objective-C
    Réponses: 1
    Dernier message: 27/02/2013, 09h42
  2. Hex to string
    Par Funnyz dans le forum Débuter
    Réponses: 9
    Dernier message: 20/06/2009, 23h19
  3. convertion hex vers string
    Par mmarcoboss dans le forum Débuter
    Réponses: 5
    Dernier message: 11/01/2008, 08h03
  4. Convertion HEX en String
    Par zejo63 dans le forum Entrée/Sortie
    Réponses: 13
    Dernier message: 05/07/2007, 23h54
  5. string > hex
    Par AntoineNSG dans le forum C++
    Réponses: 8
    Dernier message: 28/02/2006, 13h44

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