Warum ist HttpUtility.UrlPathEncode als "nicht verwenden" markiert?

8

Warum ist die Dokumentation von .NET für HttpUtility.UrlPathEncode für .NET 4.5-Status

  

Nicht verwenden; nur für Browserkompatibilität gedacht. Verwenden Sie UrlEncode.

UrlEncode macht nicht dasselbe, es codiert eine Zeichenfolge für den Parameterteil einer URL, nicht für den Pfadteil. Gibt es eine bessere Möglichkeit, eine Zeichenkette für den Pfadteil zu codieren und warum sollte ich diese Funktion nicht verwenden, die seit 1.1 im Framework ist und funktioniert?

    
Dehalion 20.11.2013, 10:56
quelle

1 Antwort

2

Basierend auf MSDN empfehlen sie, UrlEncode zu verwenden, um zu gewährleisten, dass es für alle funktioniert Plattformen und Browser

  

Sie können eine URL mithilfe der UrlEncode-Methode oder der UrlPathEncode-Methode codieren. Die Methoden liefern jedoch unterschiedliche Ergebnisse. Die UrlEncode-Methode konvertiert jedes Leerzeichen in ein Pluszeichen (+). Die UrlPathEncode-Methode konvertiert jedes Leerzeichen in die Zeichenfolge "% 20", die ein Leerzeichen in hexadezimaler Schreibweise darstellt. Verwenden Sie die UrlPathEncode-Methode, wenn Sie den Pfadabschnitt einer URL codieren, um eine konsistent decodierte URL zu gewährleisten, unabhängig davon, welche Plattform oder welcher Browser die Decodierung durchführt.

Auch UrlEncode verwendet UTF-8-Codierung. Wenn Sie Abfragezeichenfolgen in verschiedenen Sprachen wie Arabisch senden, sollten Sie UrlEncode

verwenden     
Hussein Khalil 14.05.2015 11:09
quelle