HttpUtility.UrlEncode codage standard vs encodage spécifié?
Quelle serait la différence entre:
HttpUtility.UrlEncode("some string with é and β and stuff")
HttpUtility.UrlEncode("some string with é and β and stuff", Encoding.UTF8)
HttpUtility.UrlEncode( "some string with é and β and stuff", Encoding.Default )
résultat:
some+string+with+%c3%a9+and+%ce%b2+and+stuff
some+string+with+%c3%a9+and+%ce%b2+and+stuff
some+string+with+%e9+and+%df+and+stuff
Lors du test, j'obtiens le même résultat pour les deux premiers, je peux donc affirmer sans risque que l'UTF8 par défaut, sauf si spécifié, ou peut différer sur des systèmes différents?
J'ai seene des exemples de séquences d'échappement unicode qui ressemble à ceci:
%u00e9 (é)
Assez certain que paypal envoie que dans leur IPN-les demandes. Pourquoi ne le fait pas .NET coder comme ça?
Le HttpUtility.UrlEncode méthode utilise l'encodage UTF-8 par défaut. Par conséquent, l'utilisation de la fonction UrlEncode méthode fournit les mêmes résultats que l'utilisation de la fonction UrlEncode méthode et en précisant UTF8 comme second paramètre. msdn.microsoft.com/pt-br/library/4fkewx0t(v=vs. 110).aspx
OriginalL'auteur jishi | 2010-12-13
Vous devez vous connecter pour publier un commentaire.
Le code source de la méthode
HttpUtility.UrlEncode Method (String)
du Réflecteur:À votre question:
Oui, vous le pouvez.
Très bien, très complet pour la réponse, je vous remercie. Oui, L'Encodage.Par défaut implique vraiment qu'il serait, "par défaut".
OriginalL'auteur
Oui, vous pouvez présumer que l'UTF8 est par défaut basé sur des exemples ci-dessus. En gardant à l'esprit que l'encodage par défaut avec .NET est déterminé par le sous-jacent de la page de code du système d'exploitation.
Le '%u00e9 " de l'exemple que vous avez vu de PayPal est en fait un non-standard de mise en œuvre pour le codage de caractères Unicode. Selon Wikipedia, cette mise en place a été rejetée par le W3C.
En fait, ce n'est pas paypal qui l'a envoyé. Semble comme ASP.NET convertit à la non-mise en application des normes dans sa Demande.Formulaire De Collecte. données brutes: &address_street=%C3%A5lderstigen, Demande.Les données du formulaire = &address_street=%u00e5lderstigen, DOH!
OriginalL'auteur Saul Dolgin