Javascript decodeURI(Composant) malformé uri exception
Je suis entré à la suivante dans la console de Chrome:
decodeURIComponent('a%AFc');
Au lieu de résulter de a0xAFc
, il a provoqué une exception URIError (mal formé uri).
J'ai entendu plusieurs raisons pourquoi cela peut être possible, mais ce que je ne comprends pas, c'est pourquoi?
La decodeURIComponent()
fonction, en particulier, est censé décoder des données, pas de vérification de l'URI.
Vous devez vous connecter pour publier un commentaire.
%AF
n'est pas un personnage sur son propre, mais une partie de la séquence Unicode (MACRON - %C2%AF
).%AF
n'était pas produite parencodeURIComponent
mais quelque chose commeescape
, de sorte qu'il peut être décodé parunescape
.Ce que vous avez probablement besoin est
decodeURIComponent('%C2%AF')
unescape
est ce dont j'ai besoin.0xAF
sur son propre n'est pas valide codé en UTF-8 séquence de caractères. C'est pourquoi votre code ne fonctionne pas. J'espère que c'est plus clair maintenant.unescape
est obsolète, et il ya aussi pas deunescapeURI
Cela peut ou peut ne pas s'appliquer à la situation d'autrui, mais c'est ce qu'il a fait pour moi, alors j'ai pensé que je voudrais partager. - Je téléverser et télécharger de nombreux fichiers texte d'un CMS personnalisé.
le signe'%' dans le code source a faire des ravages pour moi.