Maison > Java > javaDidacticiel > le corps du texte

Pourquoi URLEncoder code-t-il les espaces comme « » au lieu de « » ?

DDD
Libérer: 2024-11-11 06:47:02
original
831 Les gens l'ont consulté

Why Does URLEncoder Encode Spaces as ' ' Instead of ' '?

L'énigme d'URLEncoder : Comprendre le codage des caractères spatiaux

Lorsque vous essayez d'encoder une chaîne à l'aide d'URLEncoder, vous pouvez rencontrer un comportement inattendu où les espaces sont convertis en symboles « » au lieu de le code hexadécimal « » attendu.

Cause

La classe URLEncoder adhère aux spécifications HTML pour l'encodage des URL dans les formulaires HTML. Selon ces spécifications, les espaces doivent être remplacés par des symboles « » pour les paramètres au format MIME application/x-www-form-urlencoded.

Solution

Pour obtenir l'encodage souhaité lorsque les espaces sont convertis à ' ', vous pouvez effectuer les étapes suivantes :

String encodedString = java.net.URLEncoder.encode("Hello World", "UTF-8");
encodedString = encodedString.replace("+", "%20");
Copier après la connexion

Cela remplacera tous les symboles ' ' par ' , ce qui entraînera un encodage correct selon vos attentes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal