Publié le 04/06/2010
Auteur fobec
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Encoder et decoder une url

Un lien Http contient des lettres spécifiques à une langue ou des caractères spécifiques. Dans ce cas, il est conseillé d'encoder l'URL avec JAVA pour uniformiser les caractères dans un langage commun. De plus, l'encodage des URL dans un formulaire JAVA réduit les risques d'attaques comme l'injection SQL par exemple.

Encoder une chaine de caractère

Pour assurer le maximum de compatibilité, l'encodage d'une url consiste à remplacer tous les caractères non alpha-numériques (hormis -_.) et les espace par des séquences commençant par un caractère pourcentage (%) et de deux chiffres hexadécimaux.

import java.io.UnsupportedEncodingException;
import java.util.logging.Level;
import java.util.logging.Logger;
 
/**
 * Encoder et decoder une url
 * http://www.fobec.com/java/918/encoder-decoder-une-url.html
 * @author fobec 2010
 */
public class TextEncoder {
 
    public static void main(String[] args) {
        try {
            String text = "En français: il a des caractères à encoder !!!";
            String charset = "UTF-8";
            //Encode le texte en UTF-8
            System.out.print(java.net.URLEncoder.encode(text, charset));
            //résultat: En+français:+il+a+des+caractères+à+encoder+!!!
 
            text = "En+français:+il+a+des+caractères+à+encoder+!!!";
            System.out.print(java.net.URLDecoder.decode(text, charset));
            //résultat: En français: il a des caractères à encoder !!!
 
        } catch (UnsupportedEncodingException ex) {
            Logger.getLogger(TextEncoder.class.getName()).log(Level.SEVERE, null, ex);
        }        
    }
}

Java intègre la classe URLEncoder qui contient la fonction encode() pour encoder le String et la classe URLDecoder qui contient la fonction decode() pour décoder le String encodé.
Bref, les deux fonctions sont prêtes à l'emploi dans JAVA, n'hesitez pas à vous en servir pour encoder les URL et eviter les problèmes de charset par exemple.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - sources
Mise a jour
04/06/2010
Visualisation
vu 3074 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 267 articles
|BIO_PSEUDO|
Commentaires récents

Publié par RIJAPOTAK dans CMS

PILOTAGE SCANNER (TWAIN-WIA), IPTC, EXIF, METADATA, ICC PROFILES, Développement des logiciels, Traitement d'image, Traitement en Batch d'image et Pdf

Publié par khaoula dans java

s' il vous plait j'ai un projet de fin d'etude et je veux integrer une carte google maps dans une interface avec java et toujours j'aurais des problemes et merci de votre reponse

Publié par Fobec dans php5

Merci Souti d'avoir signale la balise manquante,
le code est corrige dans l'exemple.

Publié par Fobec dans logiciel

Bonjour,
lorsque le regitrar masque l'identite du proprietaire, foWhoisClient ne pourra pas communiquer cette information. Par contre, le logiciel cherche la meilleur source d'information p...

Publié par Absolut dans news

Bonjour,
Dans l'outil de localisation d'IP, je ne comprends pas le sens de la rubrique precision dans le Rapport d'analyse de l'adresse IP ex 1/10, 9/10, bonne, ....
Merci