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 :

Convertir une chaine en flux d'octets


Sujet :

VB.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 291
    Points : 390
    Points
    390
    Par défaut Convertir une chaine en flux d'octets
    Bonjour,

    Le titre n'est pas explicite mais comme je ne conçois pas bien la chose j'ai du mal à l'ennoncer.

    Le contexte:

    Je récupère dans un dataset des données provenant d'une base PostGis (version spatiale de postgres). Un des champs est la géométrie de l'objet, qui est codée dans postgis sous forme binaire. le dataset lui me renvoi un type string, qui en fait représente les valeurs hexa.
    Je souhaiterai utiliser un binaryreader pour convertir cette chaîne de caractères en objets géométriques propres à mon application. Ma question est donc

    Comment transformer cette chaîne de caractère en source de flux pour un binaryreader ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 291
    Points : 390
    Points
    390
    Par défaut
    Bonjour,

    Je me réponds tout seul des fois que cela serve à qq'un

    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
    Dim r As DataRow
            ' j'obtiens la chaîne de valeurs Hexa
            r = ds.Tables(0).Rows(0)
            Dim st As String = r.Item(0)
     
            'je déclare un tableau de byte
            Dim buffer(Len(st) \ 2 - 1) As Byte
            'je coupe 2 caractères par deux caractères, je convertit la valeur Hexa en Byte
            For i = 0 To Len(st) - 2 Step 2
                buffer(i \ 2) = Byte.Parse(st.Substring(i, 2), Globalization.NumberStyles.HexNumber)
            Next
            'Initialisation d'un stream en mémoire à partir du tableau
            Dim strBuffer As New System.IO.MemoryStream(buffer)
            'initialisation du binary reader
            Dim br As New System.IO.BinaryReader(strBuffer)
     'lecture du flux
            br.Close()

  3. #3
    Membre chevronné Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 692
    Points : 1 960
    Points
    1 960
    Par défaut
    Je te conseille d'utiliser st.Lenght à la place de Len(st).

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 291
    Points : 390
    Points
    390
    Par défaut
    Bonjour,

    Merci Maître Yoda, le coté VB6 de la force est encore en moi

  5. #5
    Membre chevronné Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 692
    Points : 1 960
    Points
    1 960
    Par défaut
    Mouhahahahaha J'adore

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

Discussions similaires

  1. [VB]Convertir une chaine de caractere en entier
    Par budylove dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/02/2006, 12h06
  2. Réponses: 3
    Dernier message: 04/01/2006, 00h14
  3. [C#] Convertir une chaine accentue => sans accents
    Par alex57 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/09/2005, 10h21
  4. Convertir une chaine en format heure
    Par Lars dans le forum ASP
    Réponses: 3
    Dernier message: 24/05/2005, 12h44
  5. Convertir une chaine UTF8 en ISO-8859-1
    Par eods dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 26/08/2004, 17h57

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