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 :

Convertion de données


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 114
    Par défaut Convertion de données
    Bonjour à tous,

    Voilà, j ai dans mon application une valeur obtenue qui est de type "tableau de byte[]". J'arrive à afficher ce fameux tableau de byte[], mais je souhaiterais savoir s'il était possible d'obtenir une convertion de ces bytes en string ??

    Par exemple avec le tableau de bytes suivant : "004802500025100010202033000012902420911081530025000251000100038227410000"

    Merci a tous.

  2. #2
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Citation Envoyé par will2taz
    Bonjour à tous,

    Voilà, j ai dans mon application une valeur obtenue qui est de type "tableau de byte[]". J'arrive à afficher ce fameux tableau de byte[], mais je souhaiterais savoir s'il était possible d'obtenir une convertion de ces bytes en string ??

    Par exemple avec le tableau de bytes suivant : "004802500025100010202033000012902420911081530025000251000100038227410000"

    Merci a tous.
    Oui avec la classe System.Text.Encoding
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Tab_String As String = System.Text.Encoding.UTF8.GetString(Tableau_Byte)
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 114
    Par défaut
    Merci Aspic, mais après avoir essayer, voici ce que j'obtiens :


    Impossible d'effectuer un cast d'un objet de type 'System.String' en type 'System.Byte[]'.
    Une idée ???

    Merci

  4. #4
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Citation Envoyé par will2taz
    Merci Aspic, mais après avoir essayer, voici ce que j'obtiens :



    Une idée ???

    Merci
    Puis je voir ton code complet ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 114
    Par défaut
    Oui, le voilà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    While oReader.Read()
     Dim binaryStream As SqlTypes.SqlBinary = oReader.GetSqlBinary(0)
     Dim segBody AsByte() = SqlTypes.SqlBinary.op_Explicit(binaryStream)
     Dim ph AsObject = ""
     ForEach byteId AsByteIn segBody
        ph = ph & byteId
     Next
     ListBox.Items.Add(ph)
     Dim Tab_String AsString = System.Text.Encoding.UTF8.GetString(ph)
    EndWhile
    

  6. #6
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Normal c'est ca qu'il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Dim Tab_String AsString = System.Text.Encoding.UTF8.GetString(segBody)
    Mais je ne comprends pas bien ton code... De plus ph est déclaré Object c'est quoi son type ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 114
    Par défaut
    Si tu ne comprend pas trop mon code, c'est normal, je débute en programmation VB alors je n'ai pas encore acquis les bon principes de programmation

    Voici mon code en entier, cela t'aidera peut être :


    Private
    Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim strConnexion AsString = "Data Source=(local);Integrated Security=SSPI;Initial Catalog=ENTREPRISES"
    Dim strRequete AsString = "SELECT BinData FROM Sauvegarde"

    Try
    Dim oConnection AsNew SqlConnection(strConnexion)
    Dim oCommand AsNew SqlCommand(strRequete, oConnection)
    oConnection.Open()

    Dim oReader As SqlDataReader = oCommand.ExecuteReader()

    Do
    ListBox.Items.Add(oReader.GetName(0))
    ListBox.Items.Add("-------------------")

    While oReader.Read()

    Dim binaryStream As SqlTypes.SqlBinary = oReader.GetSqlBinary(0)
    Dim segBody AsByte() = SqlTypes.SqlBinary.op_Explicit(binaryStream)

    Dim ph As String = ""

    ForEach byteId AsByteIn segBody
    ph = ph & byteId
    Next

    ListBox.Items.Add(ph)

    EndWhile

    LoopWhile oReader.NextResult()

    oReader.Close()
    oConnection.Close()

    Catch ex As Exception
    MsgBox(ex.Message)
    EndTry

    EndSub
    Ou dois-je intégré ton code stp ???

    Merci beaucoup

  8. #8
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Ok c'est une application pour récupérer des données dans une base. Mais que veux tu faire exactement et pourquoi veux tu convertir ton tableau de Byte en string ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 114
    Par défaut
    Oui, voila, en fait, il faut que je décode ces valeurs et les affichés en string... Peut être existe t il un autre moyen plus efficace, mais la je peine...

    Pour infos, je type du champ dans la base est du 'varbinary', je pense qu'on peut le convertir en string ou autre pour obtenir de façon lisible une valeur en chaînes de caractères...

    Peut être que je me plante complétement ???

    Merci pour ton aide...

  10. #10
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Dans cette variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim segBody AsByte() = SqlTypes.SqlBinary.op_Explicit(binaryStream)
    tu récupères ton tableau de byte ?

    Alors pour le convertir il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Tab_String As String = System.Text.Encoding.UTF8.GetString(segBody )
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 114
    Par défaut
    Ok, sa passe, mais sa ne renvoit rien (du blanc)

    Je pense que je dois me planter quelque part...

  12. #12
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Citation Envoyé par will2taz
    Ok, sa passe, mais sa ne renvoit rien (du blanc)

    Je pense que je dois me planter quelque part...
    Mets un point d'arret et vérifie que ton tableau de byte n'est pas vide ! Vérifie aussi ton binaryStream
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 114
    Par défaut
    Je viens d'avoir une info... Il s'agit en fait d'une donnée provenant d'un "dump hexa"

    Penses tu qu'il est possible d'en tirer quelque chose ?

    Merci

  14. #14
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Citation Envoyé par will2taz
    Je viens d'avoir une info... Il s'agit en fait d'une donnée provenant d'un "dump hexa"

    Penses tu qu'il est possible d'en tirer quelque chose ?

    Merci
    Sincerement aucun idée je ne connais pas ce type de donnée
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 114
    Par défaut
    Ok, merci beaucoup pour ton aide, tout ceci ma quand même bien éclairé !

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

Discussions similaires

  1. ostringstream et convertions de données
    Par membreComplexe12 dans le forum C++
    Réponses: 11
    Dernier message: 14/06/2011, 18h28
  2. convertion de donne du c vers le c++
    Par neismarspra dans le forum C++
    Réponses: 5
    Dernier message: 30/08/2009, 23h38
  3. Convertion de données
    Par wmenant dans le forum Développement
    Réponses: 0
    Dernier message: 28/08/2008, 21h12
  4. convertion de données avec visual wev developer
    Par tetedeturcq dans le forum ASP.NET
    Réponses: 1
    Dernier message: 28/02/2007, 23h37
  5. erreur généré pour une convertion de donnée
    Par poporiding dans le forum C++
    Réponses: 6
    Dernier message: 04/04/2006, 12h01

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