Est-il possible d'inverser se script de conversion ascii

Résolu
lunnatick Messages postés 175 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 28 octobre 2013 - 8 août 2006 à 23:43
 mortalino - 13 août 2006 à 00:02
Bonjour, je voudrais savoir s'il est possible d'inverser se script qui converti un texte normale en ascii pour qu'il convertisse du ascii en texte, quelqu'un saurait-il me renseigner ?

st = "ABC" 

'en decimal 
st2 ="" 
For i = 1 to Len( St) 
st2= st2 & Asc(Mid(st,i,1)) & " " 
Next 
wscript.echo st & " ==> " & st2 

51 réponses

Utilisateur anonyme
9 août 2006 à 00:21
Salut,

La fonction inverse de Asc est Chr
Chr te renvoi le caractère dont tu as présisé la valeur ASCII


Kenji



Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n
3
Utilisateur anonyme
9 août 2006 à 00:49
Oui, c'est un peu évident
Il faut aussi boucler différament:



st = "65 66 67"

CharASCII = Split(st, " ")

'en decimal

For i = 0 To UBound(CharASCII)

 st2 = st2 & Chr(CharASCII(i))

Next

wscript.echo st & " ==> " & st2





Kenji



Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n
3
Utilisateur anonyme
9 août 2006 à 01:51
Dis moi si cette fonction marche ?



Function
HexToDec(ValHex)

  
Dim
DecValue

  
Dim
i

  
For
i = Len(ValHex)
To
1
Step
-1

    
Dim
d

    d = InStr(1,
"0123456789ABCDEF"
, Mid(UCase(ValHex), i, 1)) - 1

    DecValue = DecValue + d * (16 ^ (Len(ValHex) - i))

  
Next

  HexToDec = DecValue

End

Function





Kenji



Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n
3
Utilisateur anonyme
9 août 2006 à 01:57
Faut aussi appeller la fonction :





,

st = "41 42 43"

' === Hexadecial

CharASCII = Split(st, " ")

For i = 0 To UBound(CharASCII)

 st2Hdcml = st2Hdcml & Chr(HexToDec(CharASCII(i)))

Next

wscript.echo st & " ==> " & st2Hdcml





(je ne fais pas non plus de vbscript, que du vb6 et du .net, donc je ne suis pas sur du résultat)



Kenji



Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lunnatick Messages postés 175 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 28 octobre 2013
9 août 2006 à 02:09
Ah ok, comme ceci:

Function HexToDec(ValHex)
   Dim DecValue
   Dim i
   For i = Len(ValHex) To 1 Step -1
     Dim d
    d = InStr(1, "0123456789ABCDEF" , Mid(UCase(ValHex), i, 1)) - 1
    DecValue = DecValue + d * (16 ^ (Len(ValHex) - i))
   Next
  HexToDec = DecValue
End Function



st = "41 42 43"



' === Hexadecial
CharASCII = Split(st, " ")
For i = 0 To UBound(CharASCII)
 st2Hdcml = st2Hdcml & Chr(HexToDec(CharASCII(i)))
Next



wscript.echo st & " ==> " & st2Hdcml
3
lunnatick Messages postés 175 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 28 octobre 2013
9 août 2006 à 00:41
Salut et merci

Donc jeai modifier le code come ceci:

st = "65 66 67

'en decimal
For i = 1 to Len( St)
 st2= st2 & Chr(Mid(st,i,1)) & " "
Next
wscript.echo st & " ==> " & st2

Mais cela renvoi une erreur

Saurais tu se qui ne va pas ?
0
lunnatick Messages postés 175 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 28 octobre 2013
9 août 2006 à 00:50
OK, merci beaucoup
0
lunnatick Messages postés 175 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 28 octobre 2013
9 août 2006 à 01:16
Ah me revoila, je n'arrive pas avec un script pour hexdecimale:

st = "41 42 43"


' === Hexadecial
CharASCII = Split(st, " ")
for i = 1 to Len( St)
 st2Hdcml= st2Hdcml & Hex(Chr(CharASCII(i))) & " "
next


wscript.echo st & " ==> " & st2Hdcml

Pourais tu m'aider ?
0
Utilisateur anonyme
9 août 2006 à 01:24
C'est un peu tout mélanger ton code.
Pourquoi utilise-tu la fonction hex() qui converti un nombre en hexa alors que tu veux faire l'inverse ?
Tu boucle sur la longeur de la chaine st alors qu'elle contient 3 caractères ASCII.

On remet un peu tout ca en ordre:


st = "41 42 43"

' === Hexadecial

CharASCII = Split(st, " ")

For i = 0 To UBound(CharASCII)

 st2Hdcml = st2Hdcml & Chr(Val("&H" & CharASCII(i)))

Next

wscript.echo st & " ==> " & st2Hdcml





Kenji



Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n
0
lunnatick Messages postés 175 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 28 octobre 2013
9 août 2006 à 01:29
Ce code me renvoie cette erreur:
0
Utilisateur anonyme
9 août 2006 à 01:34
étonnant que ça plante, t'as pas de lien ni de smiley !
prend FF, sans lien ni smiley : aucun plantage



J'ai pas mis de lien ni de smiley dans ma signature.
Mais je peux en mettre:
[reglement.aspx
ici
]
 
Pourtant je tourne sur IE



Kenji



Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n
0
Utilisateur anonyme
9 août 2006 à 01:35
Oups. Erreur d'empacement. Ca ne t'est pas destiné.
Désolé



Kenji



Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n
0
Utilisateur anonyme
9 août 2006 à 01:37
Quel erreur te renvoie t-il ?



Kenji



Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n
0
lunnatick Messages postés 175 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 28 octobre 2013
9 août 2006 à 01:37
C'est pas grave, j'avais poster un message quand même:

Ce code me renvoie cette erreur:
0
lunnatick Messages postés 175 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 28 octobre 2013
9 août 2006 à 01:37
0
lunnatick Messages postés 175 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 28 octobre 2013
9 août 2006 à 01:38
Caract: 2
Erreur: Type incompatible'Val'
0
Utilisateur anonyme
9 août 2006 à 01:40
VbScript ne connait pas val apparament.
(j'ai repris tes code avec vb6)

Il faut donc faire autrement. Il faut faire la fonction qui converti un hex en dec sois même.



Kenji



Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n
0
lunnatick Messages postés 175 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 28 octobre 2013
9 août 2006 à 01:52
Je n'est aucune idée de commant faire moi, je suis tout novice en vbs.
0
lunnatick Messages postés 175 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 28 octobre 2013
9 août 2006 à 01:54
Ah tu à répondu entre temps.

Quand j'éxécute le code, rien ne se passe.
0
lunnatick Messages postés 175 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 28 octobre 2013
9 août 2006 à 02:03
Ce code renvoi cette erreur:

Ligne:      9
Caract.:   2
Erreur:    Type incompatible: 'HexToDec'
0
Rejoignez-nous