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

C Discussion :

Decoder une URL


Sujet :

C

  1. #1
    Membre averti Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    Février 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paaaaaa

    Informations forums :
    Inscription : Février 2004
    Messages : 557
    Points : 400
    Points
    400
    Par défaut Decoder une URL
    Bonjour,

    Sur un serveur, je reçois des chaines de caractères que je dois ensuite traités via des scripts en C.
    Le caractère espace par exemple (il y en a d'autres) est transformé en %20 avant d'être transmis au serveur.
    ex:
    devient
    Je souhaiterai de mon coté faire l'opération inverse, retransformer ce %20 en espace.

    Mon problème est que je n'ai aucune idée de la façon de procéder lorsque j'ai récupéré le code hexa sous forme de chaine de caractère (ici "20") afin de l'insérer en tant que caractère dans une chaine.

    Si l'un d'en vous pouvais me mettre sur la voie.

    Merci
    S'il n'y a pas de solution c'est qu'il n'y a pas de problème.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    Si tu veux que ton programme gère correctement les URL, je pense qu'il faut déjà prendre connaissance du standard, qui est décrit ici : http://www.ietf.org/rfc/rfc3986.txt

    On trouve notamment (pour répondre à ta question) :
    2.1. Percent-Encoding

    A percent-encoding mechanism is used to represent a data octet in a
    component when that octet's corresponding character is outside the
    allowed set or is being used as a delimiter of, or within, the
    component. A percent-encoded octet is encoded as a character
    triplet, consisting of the percent character "%" followed by the two
    hexadecimal digits representing that octet's numeric value. For
    example, "%20" is the percent-encoding for the binary octet
    "00100000" (ABNF: %x20), which in US-ASCII corresponds to the space
    character (SP). Section 2.4 describes when percent-encoding and
    decoding is applied.

    pct-encoded = "%" HEXDIG HEXDIG

    The uppercase hexadecimal digits 'A' through 'F' are equivalent to
    the lowercase digits 'a' through 'f', respectively. If two URIs
    differ only in the case of hexadecimal digits used in percent-encoded
    octets, they are equivalent. For consistency, URI producers and
    normalizers should use uppercase hexadecimal digits for all percent-
    encodings.
    Le "%" est suivi de deux chiffres hexadécimaux. Il suffit donc de calculer ce nombre à deux chiffres, soit "à la main", soit avec une fonction du style strtol (en n'oubliant pas d'utiliser un buffer, dans lequel tu mets tes deux chiffres suivis d'un '\0'). Cela te donnera donc la valeur ASCII du caractère et donc le caractère en question.

  3. #3
    Membre averti Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    Février 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paaaaaa

    Informations forums :
    Inscription : Février 2004
    Messages : 557
    Points : 400
    Points
    400
    Par défaut
    Merci pour cette réponse.
    J'ai tout les éléments pour faire une fonction de décodage d'URL.

    Merci
    S'il n'y a pas de solution c'est qu'il n'y a pas de problème.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ Struts ] recuperer une valeur dans une url?
    Par njac dans le forum Struts 1
    Réponses: 2
    Dernier message: 02/06/2004, 14h24
  2. [net] recuperer les proprietes d'un File via une URL
    Par mma dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 06/05/2004, 12h45
  3. [Debutant]Formater un string pour une url
    Par maxxou dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 22/03/2004, 16h17
  4. [JSP] encoder et décoder les param d'une URL ?
    Par iubito dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 22/12/2003, 11h34
  5. [web] tester la validiter d'une URL
    Par zebiloute dans le forum Web
    Réponses: 4
    Dernier message: 25/11/2002, 16h51

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