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 :

Conversion Ascii vers Hexa


Sujet :

C#

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Conversion Ascii vers Hexa
    Bonjour tout le monde,

    Je sollicite votre aide car j'aimerais réaliser un programme en C# qui permet de récupérer en continue un flux d'information en codage ASCII et ensuite pouvoir le convertir en Hexadécimal.

    Le problème est donc que après de nombreux essai je n'arrive toujours pas à convertir correctement chaque caractère. Si l'un d'entre vous pourrais me guider se serait avec plaisir

    Merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Peux tu préciser un peu ? Souvent les gens mélangent un peu tout quand il s'agit d'hexa et d'ASCII, donc ta question a plusieurs interprétations possibles...

    Suppositions : tu as une chaine ASCII qui contient la représentation hexadécimale de données binaires du genre "01f23c...", et tu veux convertir ça en un tableau d'octets ? Ou alors tu as du texte et tu veux convertir chaque caractère en sa représentation hexadécimale ?

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Voici le problème:
    J'ai une station météo qui m'envoie une chaîne de caractère ASCII(en continue), j'aimerai la convertir en Hexadécimal.
    J'utilise le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public string ConvertToHex(string asciiString)
            {
                string hex = "";
                foreach (char c in asciiString)
                {
                    int tmp = c;
                    hex += String.Format("{0:x2}", (uint)System.Convert.ToUInt32(tmp.ToString()));
                }
                return hex;
            }
    J’obtiens le résultat suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    3F 3F 06 20 21 02 61 14
    pour un code ASCII:Mais le code qu'on devrait normalement recevoir pour le même code ASCII est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FF FF 06 20 23 02 61 14 A1 61 00 00 06 C6

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    J'ai pu trouver le code qui convenait je le met à disposition:

    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
     public string ConvertToHex(string asciiString)
    {
                string hex = "";
                foreach (char c in asciiString)
                {
                    int tmp = c;
                    hex += String.Format("{0:x2}", (uint)System.Convert.ToUInt32(tmp.ToString()));
                }
                return hex;
    }
    private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {
                Thread.Sleep(80);
     
                byte[] buffer;
                int tailleBuffer = port.BytesToRead;
     
                Console.WriteLine("\nNouvelle trame de " + tailleBuffer + " octets :\n");
     
     
                buffer = new byte[tailleBuffer];
                port.Read(buffer, 0, tailleBuffer);
                Console.WriteLine(BitConverter.ToString(buffer));
    }

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Donc en gros ce que tu voulais c'était juste convertir un tableau d'octets en hexa, non ? En tout cas c'est ce que fait BitConverter.ToString...

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

Discussions similaires

  1. Conversion ascii codé hexa vers hexa
    Par Bayard dans le forum Général Python
    Réponses: 1
    Dernier message: 17/03/2013, 15h14
  2. Conversion ASCII vers Hexa
    Par PtiBruno dans le forum C
    Réponses: 3
    Dernier message: 25/02/2008, 09h40
  3. conversion ASCII vers EBCEDIC
    Par Mü dans le forum C++Builder
    Réponses: 1
    Dernier message: 04/12/2005, 19h06
  4. conversion : (Ascii en hexa) => nombre
    Par tut dans le forum C++
    Réponses: 3
    Dernier message: 21/04/2004, 14h44
  5. [langage] conversion décimal vers hexa
    Par chipster dans le forum Langage
    Réponses: 2
    Dernier message: 23/02/2004, 16h05

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