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

WinDev Discussion :

Transformer une chaine ASCII en Hexa et inversement


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Homme Profil pro
    RETRAITE
    Inscrit en
    Février 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : RETRAITE

    Informations forums :
    Inscription : Février 2012
    Messages : 35
    Points : 18
    Points
    18
    Par défaut Transformer une chaine ASCII en Hexa et inversement
    Bonjour,

    J'ai la chaine Hexa suivante : F0 99 00 04 05 06 00 F7
    Je la transforme en ASCII et j'obtiens : ð™÷

    Si je fais l'inverse j'obtiens : F0 99 04 05 06 F7
    ça pourrait être normal puisque le x00 devient NULL en ASCII

    Mais dans ma chaine Hexa les 00 veulent dire quelque chose et je veux les conserver

    Voilà mon code
    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
    25
    26
    27
    28
    29
    30
    31
     
    //---------------------------------------------------------------------------------------------
    PROCEDURE AsciiVersHexa(InfoAscii est une chaîne ASCIIZ de 64)
    //---------------------------------------------------------------------------------------------
    Res_Hexa 	est une chaîne ASCIIZ de 64
    i , DimInfo est un entier
     
    DimInfo = Taille(InfoAscii)
    TabDec est un tableau de DimInfo chaînes
    POUR i = 1 _A_ DimInfo 
    	TabDec[i] = Asc(InfoAscii[[i]])
    FIN
     
    //Res_Decimal1 = hexres
    POUR i  = 1 _A_ DimInfo 
    	Res_Hexa += NumériqueVersChaîne(Asc(InfoAscii[[i]]), "02X") + " "
    FIN
    RENVOYER Res_Hexa
     
    //-------------------------------------------------------------------------------------
    PROCEDURE HexaVersAscii(InfoHexa est une chaîne)
    //--------------------------------------------------------------------------------------
    i, DimInfo est un entier
    MaChaineAscii est une chaîne ASCIIZ de 64
    ChaineHexa est une chaîne
    ChaineHexa = InfoHexa
    DimInfo = Taille(ChaineHexa)
    POUR i = 1 _A_ DimInfo PAS 2
    		MaChaineAscii += Caract(Val(ChaineHexa[[i sur 2]],"x"))	
    FIN
    RENVOYER MaChaineAscii

  2. #2
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Salut,

    Utilise une variable buffer?

Discussions similaires

  1. Recupérer valeur hexa dans une chaine ASCII
    Par OjBarbare dans le forum ASP.NET
    Réponses: 3
    Dernier message: 22/04/2009, 09h50
  2. transformer une chaine de caracteres en image
    Par jsunnyduckk dans le forum 2D
    Réponses: 7
    Dernier message: 16/02/2007, 14h51
  3. transformer une chaine de caracteres en du code
    Par giova_fr dans le forum C++
    Réponses: 6
    Dernier message: 15/01/2006, 16h37
  4. Réponses: 2
    Dernier message: 03/10/2005, 16h23
  5. Réponses: 2
    Dernier message: 14/01/2005, 15h40

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