Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
835 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Comment convertir espaces et accents des URL en %xx ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment convertir espaces et accents des URL en %xx ?

n°846318
Master_Jul
Posté le 09-09-2004 à 20:23:49  profilanswer
 

Bonjour,
 
J'ai besoin d'encoder des URL pour un programme en C, comme vous le savez sûrement, les espaces sont codés par %20, il existe d'autres codes pour les caractères accentués et des symboles.
 
Je ne sais pas trop comment m'y prendre et par où commencer. Faut-il que je fasse un tableau avec la liste de tous les codes disponibles ? Il faut que je boucle pour rechercher tous les signes susceptibles d'être convertis sur ma chaine de caractère ?
 
Merci pour vos précieux conseils. :)


---------------
En français, on écrit "connexion", pas "connection".
mood
Publicité
Posté le 09-09-2004 à 20:23:49  profilanswer
 

n°846612
christophe​_d13
L'efficacité à tout prix.
Posté le 10-09-2004 à 09:16:45  profilanswer
 

tu as des fonctions toutes prêtes pour ça :
str_replace, eregreplace... regarde dans la manipulation des chaines...

n°846928
SomeBugsIn​Me
life suxx
Posté le 10-09-2004 à 14:46:46  profilanswer
 

christophe_d13 a écrit :

tu as des fonctions toutes prêtes pour ça :
str_replace, eregreplace... regarde dans la manipulation des chaines...


 
euh il cherche en C apparemment.
 
pour ceux qui ne connaissent pas la liste des caractères à encoder : http://www.commentcamarche.net/internet/url.php3

n°847994
Sve@r
Posté le 12-09-2004 à 10:11:04  profilanswer
 

Master_Jul a écrit :

Bonjour,
 
J'ai besoin d'encoder des URL pour un programme en C, comme vous le savez sûrement, les espaces sont codés par %20, il existe d'autres codes pour les caractères accentués et des symboles.
 
Je ne sais pas trop comment m'y prendre et par où commencer. Faut-il que je fasse un tableau avec la liste de tous les codes disponibles ? Il faut que je boucle pour rechercher tous les signes susceptibles d'être convertis sur ma chaine de caractère ?
 
Merci pour vos précieux conseils. :)


 
Moi, je ferais une structure avec 2 champs
1) la chaîne à remplacer
2) la chaîne correspondante
Puis je crée un tableau de cette structure ensuite, je parcours mon URL dans une première boucle et mon tableau dans une seconde. Ca pourrait être un truc du style

Code :
  1. typedef struct {
  2.      char *in;
  3.      char *out;
  4. } t_url;
  5. main()
  6. {
  7.      //...
  8.      //...
  9.      t_url tabURL[]={
  10.           {"%20", " "},
  11.           {"%30", "é"},
  12.           {"%40", "è"},
  13.           //etc etc
  14.           {NULL, NULL}
  15.      };
  16.      t_url *ptURL;
  17.      ...
  18.      ...
  19.      for (/* je balaye mon URL */}
  20.      {
  21.           for (ptURL=tabURL, ptURL->in != NULL; ptURL++}
  22.           {
  23.                if (strcmp(ptURL->in, /*...*/) == 0)
  24.                {
  25.                     // J'écris ici ptURL->out
  26.                }
  27.           }
  28.      }
  29. }


 
Bien entendu, il y a peut-être une fonction qui le fait déjà et que je ne connais pas...


Message édité par Sve@r le 12-09-2004 à 10:13:21

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°847996
Master_Jul
Posté le 12-09-2004 à 10:16:56  profilanswer
 

Merci pour vos réponses, en fait, le code %xx correspond au code hexadecimal des lettres, il suffit de savoir si elles sont à convertir ou non puis de récupérer leur code avec un scanf %x. Merci pour votre aide. :)


---------------
En français, on écrit "connexion", pas "connection".
n°847998
Sve@r
Posté le 12-09-2004 à 10:26:35  profilanswer
 

Master_Jul a écrit :

Merci pour vos réponses, en fait, le code %xx correspond au code hexadecimal des lettres, il suffit de savoir si elles sont à convertir ou non puis de récupérer leur code avec un scanf %x. Merci pour votre aide. :)


 
Evidemment, c'est plus simple !!! :-D


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°848007
christophe​_d13
L'efficacité à tout prix.
Posté le 12-09-2004 à 11:03:12  profilanswer
 

Ce que j'ai voulu dire, c'est qu'il est possible de récupérer les sources de PHP et donc les fonctions qui vont avec.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Comment convertir espaces et accents des URL en %xx ?

 

Sujets relatifs
Illegal URL method[win]convertir une chaine en entier ?
convertir string en Fileurl rewriting avec .tk
[PHP] URL Rewriting et formulaires [résolu]Date stockée au format strtotime, comment convertir ?
Comment empêcher le parser XML d'ajouter des espaces/sauts de ligne ?convertir une std::string en type de base (int, float, etc)
[PHP] Replacer un mot dans un texte avec des accents?Convertir les formules Excel en VBA
Plus de sujets relatifs à : Comment convertir espaces et accents des URL en %xx ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR