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 :

Problème de conversion caractère vers Ascii


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Août 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Problème de conversion caractère vers Ascii
    Bonjour à tous!

    J'ai un problème un peu débile dans mon dév' mais j'arrive pas à la résoudre alors pourquoi pas trouver un peu d'aide ici =)

    Je vous explique:
    Je récupère un fichier bourrés de caractères bizarres et j'ai besoin de les convertir en hexadécimal, je fais donc la chose suivante après récupération du fichier en question:

    Dim x(fileReader.Length) As Char

    Using sr As StringReader = New StringReader(fileReader)

    For i = 0 To fileReader.Length Step 1

    sr.Read(x, i, 1)
    x(i) = Hex(Asc(x(i)))

    Next i

    End Using


    Cela fonctionne plutôt bien mais j'ai le problème suivant, je prends un exemple:
    Je reçois en entrée le caractère "„" son code ASCII est 84 (en hexadécimal), Hex(Asc(x(i))) me donne bien ce code mais lorsque je range ce résultat dans x(i) on ne me stock uniquement le premier caractère hexadécimal, donc le 8 et je n'arrive pas à comprendre pourquoi le 84 en entier n'est pas stocké...

    J'espère m'être exprimer clairement et quelqu'un pourra m'aider!
    Merci d'avance =))

  2. #2
    Membre actif
    Homme Profil pro
    Retraité intello
    Inscrit en
    Juillet 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité intello

    Informations forums :
    Inscription : Juillet 2012
    Messages : 186
    Points : 205
    Points
    205
    Par défaut
    Bonjour.

    Vous avez défini vos x(i) comme étant de type Char. Ils ne peuvent donc contenir qu'un seul caractère.

    Cordialement.

  3. #3
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Août 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Oui j'en suis conscient mais le code 0x84 tient sur un char puisque c'est le code hexadécimal du caractère "„" donc normalement je dois pouvoir le stocker dedans.

  4. #4
    Membre actif
    Homme Profil pro
    Retraité intello
    Inscrit en
    Juillet 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité intello

    Informations forums :
    Inscription : Juillet 2012
    Messages : 186
    Points : 205
    Points
    205
    Par défaut
    Bonjour.

    Testez donc ce petit code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Public Sub Tester()
            Dim Txt As String, Car As Char
            Txt = "Toto"
            Car = Txt
            MsgBox(Car)
        End Sub
    et tirez-en vos conclusions.

    Cordiales salutations.

  5. #5
    Membre chevronné
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Points : 2 209
    Points
    2 209
    Par défaut
    Citation Envoyé par Jean-Marie Grave Voir le message
    Bonjour.

    Testez donc ce petit code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Public Sub Tester()
            Dim Txt As String, Car As Char
            Txt = "Toto"
            Car = Txt
            MsgBox(Car)
        End Sub
    et tirez-en vos conclusions.

    Cordiales salutations.
    Personnellement ma conclusion ça serait surtout d'activer l'Option Strict comme ça ce code ne compile pas et oblige à faire les choses proprements (aka sans cast implicites pouvant faire perdre de l'information).

    Cordialement !
    Nous sommes tous plus ou moins geek : ce qui est inutile nous est parfaitement indispensable ( © Celira )
    À quelle heure dormez-vous ?
    Censément, quelqu'un de sensé est censé s'exprimer sensément.

Discussions similaires

  1. conversion Caractère vers ASCII
    Par tobba dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 09/11/2010, 18h44
  2. Problème de conversion TeX vers DVI
    Par Faith's Fall dans le forum Editeurs / Outils
    Réponses: 7
    Dernier message: 20/10/2006, 10h46
  3. conversion UTF8 vers ASCII en C
    Par znarf dans le forum C
    Réponses: 2
    Dernier message: 05/07/2006, 13h55
  4. Problème de conversion decimal vers Hexa
    Par Elbarto dans le forum C++
    Réponses: 1
    Dernier message: 06/02/2006, 19h37
  5. [MFC] Problème de conversion CString vers Char *
    Par Darkenshin dans le forum MFC
    Réponses: 10
    Dernier message: 02/12/2005, 14h42

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