Texte & hexadécimaux

Résolu
BLaSTiNG Messages postés 30 Date d'inscription jeudi 13 mai 2004 Statut Membre Dernière intervention 21 février 2006 - 21 févr. 2006 à 22:35
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 21 févr. 2006 à 23:20
Bonjour tout le monde.

Une question bien facile:

Si dans un texte, j'ai ceci: "bonjour%20ca%20va%20bien%3F", comment faire pour changer les codes hexadécimaux en texte normal, qui donnerait: "bonjour ca va bien?"?

Merci beaucoup à tous.

3 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
21 févr. 2006 à 23:20
Salut,










Private Sub Command1_Click()


Dim texte As String


Dim i As Integer





texte = "bonjour%20ca%20va%20bien%3F"




i = InStr(texte, "%")


While i > 0

texte =
Replace(texte, Mid$(texte, i, 3), Chr$(Val("&H" & Mid$(texte, i
+ 1, 2))))


i = InStr(texte, "%")


Wend


MsgBox texte


End Sub


Daniel
3
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
21 févr. 2006 à 23:09
Salut, si c'est juste des espaces et des ?
tu peux faire la bidouille suivante
tontexte = replace(tontexte,"%20"," ")
tontexte = replace(tontexte,"%3F","?")


0
Utilisateur anonyme
21 févr. 2006 à 23:15
Bonjour,

Fonction pour convertir un hexa en décimal:

Private Function HexToDec(ByVal Nb As String) As Integer
Const HexVal = "0123456789ABCDEF"
Dim nDec As Integer
For iChar = 1 To Len(Nb)
Dim Char As String: Char = Mid(Nb, iChar, 1)
Dim Value As Integer: Value = InStr(1, HexVal, Char) - 1
Dim Poid As Integer: Poid = Len(Nb) - iChar
nDec = nDec + Value * 16 ^ Poid
Next iChar
HexToDec = nDec
End Function

Le code pour convertir tes codes hexadécimaux:

Const Str As String = "bonjour%20ca%20va%20bien%3F"
Dim NewStr As String

Dim iChar As Integer
For iChar = 1 To Len(Str)
Dim Char As String
Char = Mid(Str, iChar, 1)
If Char = "%" Then
Dim Value As Integer
Value = HexToDec(Mid(Str, iChar + 1, 2))
NewStr = NewStr & Chr(Value)
iChar = iChar + 2
Else
NewStr = NewStr & Char
End If
Next iChar

MsgBox NewStr

Voilà, j'espère que c'est ce qu'il te faut

Kenji
<hr size="2" width="100%">
Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.
0
Rejoignez-nous