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

VB.NET Discussion :

manipuler un string contenant de l'hexa


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 130
    Par défaut manipuler un string contenant de l'hexa
    Bonjour,

    Je me sens coincé.
    Dans mon code je vais lire le contenu d'un fichier texte qui contient des lignes correspondant à des octets

    la ligne dans mon fichier ressemble à ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RECORD 07 01 = 24 39 28 01 08 24 E2 10 48 CC 00 08 08 04 80 80 00 00 00 00 00 00 00 00 00 00 00 00 00
    que je récupère ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim mavariable As String = Split(contenu_monfichier(16).ToString, "=")(1).Replace(" ","")
    ce qui me permet de récupérer que ce qui m’intéresse, à savoir:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    243928010824E21048CC00080804808000000000000000000000000000
    J'aimerai ensuite pouvoir convertir cette chaine hexa (mais que je récupère sous forme de string) en binaire pour avoir un truc comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    0010010000111001..............................................
    pour pouvoir ensuite extraire des parties, genre les 6 premiers bits correspondent au code d'une agence, les 7 suivants au bureau, etc...

    Quelqu'un pourrait il m'aiguiller ?


    Merci

  2. #2
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       Dim hexStr As String = "243928010824E21048CC00080804808000000000000000000000000000"
       Dim binStr = String.Join("", hexStr.Select(Function(f) Convert.ToString(Convert.ToInt32(f + "", 16), 2).PadLeft(4, "0"c)))
     
       MsgBox(binStr)
    ++

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 130
    Par défaut
    Merci, mais ca me met l'erreur "Select n'est pas un membre de string"

  4. #4
    Expert confirmé

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 761
    Billets dans le blog
    21
    Par défaut
    Bonjour,

    Il doit juste te manquer un using System.Linq;.

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 267
    Par défaut
    Bonjour,
    Nom : Sans titre.jpg
Affichages : 255
Taille : 27,5 Ko

    voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            TextBox2.Text = ConvertHexToBin(TextBox1.Text)
        End Sub
     
        Private Function ConvertHexToBin(hex As String) As String
            Return String.Concat(hex.Select(Function(c) Convert.ToString(Convert.ToInt32(c, 16), 2).PadLeft(4, "0"c)))
        End Function
    j’espère j'ai bien répondu a ta question?

    Cordialement,

  6. #6
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par yaume91 Voir le message
    Merci, mais ca me met l'erreur "Select n'est pas un membre de string"
    Comme évoqué par f.dorin à un détail près (en vbnet) il faut ajouter cet import :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Imports System.Xml.Linq

    A+

  7. #7
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 130
    Par défaut
    Citation Envoyé par François DORIN Voir le message
    Bonjour,

    Il doit juste te manquer un using System.Linq;.
    Merci, mais ca se met ou ca ?
    Je debute en vb.net, alors je ne suis pas encore tres familiariser

    merci

  8. #8
    Expert confirmé

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 761
    Billets dans le blog
    21
    Par défaut
    Citation Envoyé par yaume91 Voir le message
    Merci, mais ca se met ou ca ?
    Alors, suite à une correction fort juste de wallace1, c'est Imports System.Linq qu'il faut rajouter. La version que j'avais donné était effectivement pour du C#, pas du VB.Net ! Par contre, c'est bien Imports System.Linq et non Imports System.Xml.Linq qui te manque (à deux, on devrait y arriver wallace1 )

    Normalement, c'est en début de fichier. Tu dois avoir une série d'instructions imports au début de ton fichier. C'est ici qu'il faut le rajouter.

  9. #9
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 130
    Par défaut
    Merci ca marche nickel.
    Ca m'evite d'avoir une fonction à rallonge que j'avais trouver et adapter.

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

Discussions similaires

  1. [STRING] Manipulation de string
    Par Hoegaarden dans le forum Langage
    Réponses: 2
    Dernier message: 30/11/2005, 14h46
  2. [java] manipulation de string
    Par n8ken dans le forum Langage
    Réponses: 3
    Dernier message: 15/11/2005, 11h08
  3. [MFC] Manipulation de string
    Par mulot49 dans le forum MFC
    Réponses: 2
    Dernier message: 24/08/2004, 16h43
  4. [XSLT] Transformer un String contenant du xml
    Par VinceFromBcn dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 07/07/2004, 12h42
  5. [xsl java]Appliquer une XSL à un String contenant doc XML
    Par aldo047 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 03/04/2003, 15h46

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