L'encodage URL

L'encodage URL permet de transformer une liste de paramètres (suite de chaines texte quelconque) en une ligne unique compatible avec le protocole HTTP.

C'est la forme standard de transmition d'informations par un formulaire.

Le résultat respecte les règles suivantes :

Ce qui donne quelque chose comme :

    Recipient=0612000000&DeferredDelivery=&Content=Test+Test%0D%0Asuite     

On pourra approfondir en consultant :

-RFC 1866: Hypertext Markup Language - 2.0
La RFC 1866 décrit la version 2.0 d'HTML.
http://www.pasteur.fr/other/computer/RFC/18xx/1866

Voici une petite procédure qui fait la convertion :


      CString result;
      bool isSpace=true;

      for (int i=0; i< msg.GetLength(); i++) {
            // on ne regarde que les caractère ASCII,    
            // pas les caractère
            unicode unsigned char c=msg[i];
            if (isspace(c)) {
            // on ne garde qu'un seul espace
            if (isSpace) continue;
                  result=result+'+';
                  isSpace=true;
                  continue;
            }
            if (isalnum(c)) {
                  result=result+c;
                  isSpace=false;
                  continue;
            }
            CString temp;
            // on traduit en code
            temp.Format("%%%2.2x",(int)c);
            result+=temp;
            isSpace="false;"
      }


Page mise à jour le 13 fév. 00
© Osele 2000