Quoted-printable

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 014 fois - Téléchargée 29 fois

Contenu du snippet

cette fonction décode les données codées en quoted printable

Source / Exemple :


Private Function Quoteprint(xx As String) As String
Dim Partie() As String
k = 0
old = 1
For i = 1 To Len(xx)
   If Mid(xx, i, 2) = vbCrLf Then
     ReDim Preserve Partie(k): Partie(k) = Mid(xx, old, i - old): k = k + 1: old = i
   End If
DoEvents
Next i

If k = 0 Then ReDim Preserve Partie(0): Partie(0) = xx
Dim sortie As String
For i = 0 To UBound(Partie)

     a = Partie(i)
     For k = 1 To Len(a)
         DoEvents
     
         If SafeChar(Mid(a, k, 1)) = True Or Mid(a, k, 1) = " " Or Mid(a, k, 1) = vbTab Then
            sortie = sortie & Mid(a, k, 1)
            GoTo 10
         End If
     
         If Mid(a, k, 1) = "=" And k < Len(a) Then
     
            sortie = sortie & Chr(CLng("&H" & Mid(a, k + 1, 2)))
            If Err.Number <> 0 Then
               Err.Clear
               GoTo 10
            End If
            k = k + 2
         End If
         On Error Resume Next
         If Mid(a, k, 1) = "=" And k = Len(a) Then
             sortie = sortie & vbCrLf
             GoTo 10
         End If
10
     Next k
DoEvents
Next i
Quoteprint = sortie

End Function
 
Function SafeChar(xx As String) As Boolean

Dim a(92) As Integer
For i = 0 To 27
a(i) = i + 33
Next i
For i = 28 To UBound(a)
a(i) = i + 34
Next i

For i = 0 To UBound(a)
If xx = Chr(a(i)) Then
SafeChar = True: Exit Function
End If
Next i
SafeChar = False
End Function

Conclusion :


j'essairai de mettre les commentaires après mais je pense pas qu'ils soient nécessaires.

A voir également

Ajouter un commentaire

Commentaires

Messages postés
291
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
13 mars 2015

Bonjour
-------------
Qualqu'un aurait-il une fonction qui fait l'inverse, pour coder en quotes-printable,
j'ai cherche, mais je ne trouve que de l'encodage base64.
Messages postés
226
Date d'inscription
mardi 17 octobre 2000
Statut
Membre
Dernière intervention
1 décembre 2010

MAGNIFIQUE, je cherche une fonction comme celle ci depuis un ptit moment, merci bien sa va servir
Messages postés
1488
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
3 décembre 2007
22
Ce serait vraiment super... mais alors je t'en prie... met au tout début un petit résumé expliquant tant les applications que le fonctionnement interne au début histoire de pas décourager les moins courageux d'entre nous (dont je fait parti ;-)... Enfin, ce n'est qu'un conseil parce que les gutaux, généralement, vont toujours trop vite droit au but et il est difficile de les survoler pour savoir si c'est bien cela qui nous "branche"...
Mais c'est une super idée ça !!!
Messages postés
23
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
16 avril 2007

je connais pas les caractères par coeur mais si tu peux les connaitre à partir de la fonction safechar qui fait partie du code (les caractère autorisés) et tout les autres seront changés par "=code héxadécimal du caractère".
je suis content que ça vous intéresse et je pense bientôt écrire un tutorial à propos tt ces types de codage.
Messages postés
1488
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
3 décembre 2007
22
En somme, c'est un peu comme l'Unicode & co... Mais dit moi juste un truc, il peut y avoir combien de caractères (nombres donc) ???

Merci pour toutes ces précisions bien précieuses... Et surtout, bonne continuation... pour nous abreuver, en effet, de routines plutôt rares (d'où d'ailleurs toutes mes questions ;-)... Parce que en effet, Base64, Quoted Printable, ... on connait de nom lorsqu'on "paramètre" nos clients mails, mais comme y'a jamais d'aide, on sait pas trop quoi choisir... L'air de rien, comme ça, tu viens de m'en apprendre bien plus que tu ne peux te l'imaginer!!!

Encore merci ^_^
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.