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

VBScript Discussion :

Convertir un texte normale en ascii et vis versa


Sujet :

VBScript

  1. #1
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut Convertir un texte normale en ascii et vis versa
    Bonjour, j'ai besoin d'un script VBS pour convertir un texte normale (c'est-à-dire en langage humain) vers le format ascii et vis versa.
    Y-a-t-il un furomeur ici qui puisse m'aider ?

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    tu ve quoi un les codes ascii composant le texte exemple
    pour
    Texte : ABC
    Code Ascii decimal : 65 66 67
    Code Ascii Hexadécimal.. : 41 42 43

    ?

  3. #3
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Ah oui désolén c'est Ascii decimal et Ascii Hexad

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    la fonction asc, permet de retrouver le code ascii d'un caractére..;

    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
     
    Dim st ' As string
    Dim st2 ' As string 
    Dim i ' As integer 
    st = "ABC"
     
    'en decimal
    st2 =""
    For i = 1 to Len( St)
     st2= st2 & Asc(Mid(st,i,1)) & " " 
    Next
    wscript.echo st & " ==> " & st2
     
    'en Hexadecimal
    st2 =""
    For i = 1 to Len( St)
     st2= st2 &  Hex(Asc(Mid(st,i,1))) & " " 
    Next
    wscript.echo st & " ==> " & st2

  5. #5
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Merci beaucoup et on peut agir sur le contenu d'un fichier.txt ?

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par koKoTis
    Merci beaucoup et on peut agir sur le contenu d'un fichier.txt ?
    la je vois pas bien le but...? il n'y aurai pas une méprise sur ce que tu ve faire..?

  7. #7
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Non, c'est parce qu'il y a des clés dans le registre qui réfférence des cehmins de répertoire en ascii que je veut modifier, donc il faut dabords que je convertisse ses chemins en ascii, ça m'éviterat de faire les chemins un par un avec la variable.

  8. #8
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Et au fait, on peut faire l'inverse ?

  9. #9
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    ça bug sur certains caractères, dans ce cas je reçois ce message d'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    convertHxdcml.vbs(1, 45) Erreur de compilation Microsoft VBScript: Caractère incorrect
    Y a pas un lexique pour savoir quel caractère représente le numéro (1, 45) ?

  10. #10
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Fichier convertHxdcml.vbs
    Ligne 1
    Caractère 45
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  11. #11
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Ok, donc certains caractére comme % ~ ne peuvent être convertir en hexdecimale.

    Il n'y a pas moyen de faire la conversion en sens inverse ?

  12. #12
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    OK, donc on m'a donner la solution pour convertir une valeur ascii decimale vers texte:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    st = "65 66 67" 
     
    ' === Decimal 
    CharASCII = Split(st, " ") 
    for i = 0 To UBound(CharASCII) 
     stDcml = stDcml & Chr(CharASCII(i)) 
    next 
    wscript.echo st & " ==> " & stDcml
    Mais pour convertit ascii hexdecimale vers texte c'est plus compliquer.

    Quelqu'un pourait-il m'aider

  13. #13
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Difficile???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    st = "41 42 43"
    
    ' === Hexa
    CharASCII = Split(st, " ") 
    For i = 0 To UBound(CharASCII) 
      stDcml = stDcml & Chr("&H" & CharASCII(i))
    Next 
    wscript.echo st & " ==> " & stDcml
    Edit --> Supprimé le Val() non reconnu en VBS.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  14. #14
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Ben je suis tout novice en vbs.

    Le code renvoi une erreur:

    Ligne: 7
    Caract: 3
    Erreur: Type incompatible: 'Val'
    Code: 800A000D

  15. #15
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    déjà montre nous une de tes chaînes en hexa et son équivalent en décimal... histoire d'être sur de partir dans bonne direction...

  16. #16
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Salut, tu veux dire une des chaîne que je souhaite convertir ?

    Et au fait, tu q vu que j'ai dit qu'on va donné la solution pour convertir ascii decmale vers texte:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    st = "65 66 67" 
     
    ' === Decimal 
    CharASCII = Split(st, " ") 
    for i = 0 To UBound(CharASCII) 
     stDcml = stDcml & Chr(CharASCII(i)) 
    next 
    wscript.echo st & " ==> " & stDcml
    C'est pour hexdécimale vers texte qu'il me manque.

  17. #17
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par koKoTis
    Salut, tu veux dire une des chaîne que je souhaite convertir ?
    oui, voir l'allure de tes chaines en hexa et ascii.. , en hexa il y as bien un espace entre chaque caractéres ..? en ascii tous les caractéres sont accollés..?


    Citation Envoyé par koKoTis
    Et au fait, tu q vu que j'ai dit qu'on va donné la solution pour convertir ascii decmale vers texte:
    .. je comprends pas..

  18. #18
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Désolé, j'avais testé en VBA.

    VBS fait le transtypage de lui-même, donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      stDcml = stDcml & Chr("&H" & CharASCII(i))
    Fonctionne.

    Je modifie le code dans mon message précédent.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  19. #19
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Citation Envoyé par bbil
    oui, voir l'allure de tes chaines en hexa et ascii.. , en hexa il y as bien un espace entre chaque caractéres ..? en ascii tous les caractéres sont accollés..?
    Ben cehz moi le hexédcimale et le décimale contienne toujours des espace, pour l'exemple, il faut que je retrouve la clé registre hexde donc je voulais modifier la valeurn j'ai perdu le reg.


    Citation Envoyé par bbil
    .. je comprends pas..
    Je disais, tu as vu ce message ? http://www.developpez.net/forums/sho...1&postcount=12

  20. #20
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Citation Envoyé par AlainTech
    Désolé, j'avais testé en VBA.

    VBS fait le transtypage de lui-même, donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      stDcml = stDcml & Chr("&H" & CharASCII(i))
    Fonctionne.

    Je modifie le code dans mon message précédent.
    OK, merci beaucoup, ça fonctionne parfaitement bien maintenant

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. convertir une matrice en un vecteur et vis versa
    Par mitchecool dans le forum C++
    Réponses: 1
    Dernier message: 04/02/2014, 18h10
  2. [WD-2007] convertir un texte en colonne en un texte normal sur toute la page
    Par Olabonga dans le forum Word
    Réponses: 2
    Dernier message: 20/12/2012, 15h43
  3. [MS-DOS] Une commande DOS pour convertir un texte en OEM
    Par Furius dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 30/12/2005, 19h47
  4. convertir le text de DBedit vers PAnsiChar ?
    Par _alex_ dans le forum Langage
    Réponses: 2
    Dernier message: 22/12/2005, 14h44
  5. Convertir un texte en OEM avec Notepad++
    Par Furius dans le forum Autres Logiciels
    Réponses: 17
    Dernier message: 17/10/2005, 13h18

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