Comment voulez-vous ne pas encoder les Url en Java?
Quand j'ai lu le xml via une URL du InputStream, et découpez-le tout à l'exception de l'url, j'ai "http://cliveg.bu.edu/people/sganguly/player/%20Rang%20De%20Basanti%20-%20Tu%20Bin%20Bataye.mp3".
Comme vous pouvez le voir, il y a beaucoup de "%20"s.
Je veux que l'url sans échappement.
Est-il possible de le faire en Java, sans l'aide d'un tiers de la bibliothèque?
- Juste pour être pédant, il n'y a pas une telle chose comme "normal unicode". UTF8 est l'un de plusieurs manières de représenter le texte unicode. Mais il n'y a pas de "vraie" représentation canonique.
- Comme Jon et ng a dit, cela n'a rien à voir avec les caractères Unicode ou UTF-8. Vous souhaiterez peut-être modifier le titre.
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas sans échappement XML, c'est l'URL du texte codé. Me ressemble vous souhaitez utiliser les éléments suivants sur les chaînes d'URL.
Cela vous donnera le texte correct. Le résultat de décodage de l', comme vous avez fourni est ce.
L' %20 est évadé de l'espace de caractère. Pour obtenir le plus haut, j'ai utilisé le URLDecoder objet.
URLDecoder.decode(String s)
a été abandonné depuis Java 5Vous devez utiliser
URLDecoder.décoder(String s, Chaîne enc)
.Par exemple:
Concernant l'encodage à utiliser:
Je vais avoir des problèmes en utilisant cette méthode quand j'ai des caractères spéciaux comme
á
,é
,í
, etc. Mon (probablement sauvages) conjecture est widechars ne sont pas correctement codés... eh bien, au moins, je m'attendais à voir des séquences comme%uC2BF
au lieu de%C2%BF
.Édité: Mon mauvais, ce post explique la différence entre l'encodage de l'URL et du JavaScript séquences d'échappement: URI encodage UNICODE pour apache httpclient 4