La différence entre “+” et “%A0” - encodage?
Je suis l'url de l'encodage d'une chaîne de texte à transmettre à une fonction. Cependant, il code pour le deuxième espace dans un double espace "%A0". Cela signifie que lorsque je décoder la chaîne, la chaîne "%A0" est affichée comme un point d'interrogation dans une boîte noire.
J'ai vraiment besoin juste pour être en mesure de supprimer l'espace supplémentaire, mais je voudrais comprendre quelle en est la cause et comment le gérer correctement.
Par exemple:
Something Something else
Code:
Something+%A0Something+else
double possible de l'encodage de l'URL de l'espace de caractère: + ou %20?
Ce n'est pas le même. Veuillez lire la question. L'OP veut savoir pourquoi
Ce n'est pas le même. Veuillez lire la question. L'OP veut savoir pourquoi
%A0
apparaît dans l'encodage de valeurs, pas de savoir si l'utilisation +
ou %20
pour échapper à des espaces.OriginalL'auteur rybo | 2011-05-31
Vous devez vous connecter pour publier un commentaire.
%A0
indique NBSP (U+00A0).+
indique un espace normal (U+0020). L'NBSP affiche comme un caractère de remplacement (U+FFFD) parce que l'encodage des caractères ne correspond pas à l'encodage de la page, de sorte que sa séquence d'octets n'est pas valide pour la page.OriginalL'auteur Ignacio Vazquez-Abrams
Une rapide recherche sur Google montre que
%A0
est l'espace insécable ou
en html. Un+
est le formulaire de codage pour un espace standard.Source
OriginalL'auteur Paul DelRe
Le problème que vous rencontrez est que le deuxième "espace" n'est pas vraiment un espace, c'est un personnage que la police ne dispose pas d'un glyphe (je pense que c'est le terme) pour représenter (d'où la boîte noire avec le point d'interrogation).
%A0
est le code d'échappement pour ce caractère. Votre code est techniquement de le manipuler correctement, je pense que le problème est avec tout ce qui est la génération de la chaîne dans la première place.OriginalL'auteur Richard Marskell - Drackir
Si je me réfère à la le tableau sur cette page, %A0 n'est pas un espace. %20 est l'espace d'un caractère est codé en valeur.
OriginalL'auteur stefgosselin