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

Java Discussion :

[Encodage] codage des caractères spéciaux


Sujet :

Java

  1. #1
    Membre habitué Avatar de soulhouf
    Inscrit en
    Août 2005
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 213
    Points : 133
    Points
    133
    Par défaut [Encodage] codage des caractères spéciaux
    bonjour,
    je voudrais récupérer le chemin absolut à partir duquel s'execute mon applet.
    au début j'ai fait comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            URL codeBase = this.getCodeBase();
            String pth = codeBase.getPath();
    mais ça marche pas car la chaine pth contient désormais des %20 à la place des espaces.
    j'ai changé donc le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
            URL codeBase = this.getCodeBase();
            String pth = codeBase.getPath();
            StringBuffer strBuffer = new StringBuffer(pth);
            int index = 0;
            while(strBuffer.indexOf("%20") > 0){
                index = strBuffer.indexOf("%20");
                strBuffer.replace(index,index + 3," ");
            }
            pth = new String(strBuffer);
    et là ça marche mais je voudrais savoir s'il éxiste un moyen plus éfficace pour le faire.
    merci

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       String pth = URLDecoder.decode(codeBase.getPath());
    Ca donne quoi ?

  3. #3
    Membre habitué Avatar de soulhouf
    Inscrit en
    Août 2005
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 213
    Points : 133
    Points
    133
    Par défaut
    ça marche mais il y a un warning:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    The method decode(String) from the type URLDecoder is deprecated

  4. #4
    Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 67
    Points : 55
    Points
    55
    Par défaut
    au lieu de passer par un String Buffer et un déocupage de ta chaîne, pourquoi n'utilie tu pas la méthode replaceAll(String, String) de la classe
    String?????
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String newPath = pth.replaceAll("%20"," ");

  5. #5
    Membre habitué Avatar de soulhouf
    Inscrit en
    Août 2005
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 213
    Points : 133
    Points
    133
    Par défaut
    oui mais mon premier souci c'est la performance, donc est ce que c'est plus rapide de faire comme ça?

  6. #6
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Deprecated ? J'ai regardé sur la doc 1.4.2 et elle était encore d'actualité, sûrement qu'en regardant dans la doc 1.5 tu peux voir ce qu'il est conseillé de faire à la place

    edit :
    Citation Envoyé par La doc J2SE 1.4.2
    Deprecated. The resulting string may vary depending on the platform's default encoding. Instead, use the decode(String,String) method to specify the encoding.
    Il faut passer l'encoding

  7. #7
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Le remplacer ne résoud pas le problème car d'autres caractères peuvent être codés dans l'URL. La bonne solution est donc de faire :

    URLDecoder.decode(codeBase.getPath(), "UTF-8");

    Bref, comme le dit la doc quoi

  8. #8
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Comme diraient les anglophones

  9. #9
    Membre habitué Avatar de soulhouf
    Inscrit en
    Août 2005
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 213
    Points : 133
    Points
    133
    Par défaut
    merci beaucoup
    ça marche

  10. #10
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut
    Au fait, sympa ton Avatar, Luffy is cool man

    And.. BEWARE OF THE VICIOUS BUNNIES !!

  11. #11
    Membre habitué Avatar de soulhouf
    Inscrit en
    Août 2005
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 213
    Points : 133
    Points
    133
    Par défaut
    Citation Envoyé par KiLVaiDeN
    Au fait, sympa ton Avatar, Luffy is cool man

    And.. BEWARE OF THE VICIOUS BUNNIES !!
    lol!

  12. #12
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut

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

Discussions similaires

  1. Codage des cartes magnétiques
    Par Bourak dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 12/06/2009, 15h50
  2. [XML en Russe et Français] - Codage des carctères
    Par mpereg dans le forum XML/XSL et SOAP
    Réponses: 8
    Dernier message: 28/11/2007, 22h45
  3. Codage des données de formulaire
    Par Blustuff dans le forum Langage
    Réponses: 2
    Dernier message: 26/03/2006, 13h58
  4. [Sécurité] Codage des caractéres arabe
    Par riadh100 dans le forum Langage
    Réponses: 3
    Dernier message: 13/09/2005, 13h40
  5. Modifier le codage des pixels pour capture vidéo
    Par supergrey dans le forum DirectX
    Réponses: 10
    Dernier message: 27/08/2005, 10h48

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