Wie URL Dekodierung in iOS - Ziel C
Den stringByReplacingPercentEscapesUsingencoding-Methode funktioniert nicht ordnungsgemäß, da es keine Entschlüsselung Sonderzeichen, die nicht beginnen mit einem % - Zeichen, d.h., das " + " - Zeichen. Kennt jemand eine bessere Methode, dies zu tun in iOS?
Hier ist, was ich bin derzeit mit:
NSString *path = [@"path+with+spaces"
stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
Und hier ist ein Beispiel der Ausgabe:
Weg+mit+Leerzeichen
InformationsquelleAutor der Frage VinnyD | 2011-10-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beachten Sie, dass die plus-für-Raum-substitution ist nur in
application/x-www-form-urlencoded
Daten - die query-string-Teil der URL, oder den Körper einesPOST
Anfrage.InformationsquelleAutor der Antwort rob mayoff
http://cybersam.com/ios-dev/proper-url-percent-encoding-in-ios
Scheint dies der bevorzugte Weg, weil...
"Offenbar", das ist ein "bug" apple ist sich dessen bewusst, aber Sie haben es nicht getan, noch nichts davon... ( http://simonwoodside.com/weblog/2009/4/22/how_to_really_url_encode/ )
InformationsquelleAutor der Antwort delux247
Wenn Sie versuchen, ersetzen Sie das plus-Zeichen mit Prozent entweicht, führen Sie eine Zeichenfolge Ersatz von "+" zu "" (Leerzeichen). Dann nutzen Sie
stringByAddingPercentEscapesUsingEncoding:
hinzufügen die Prozent entweicht.Dem plus-Zeichen ist eine von vielen vorbehalten URL Zeichen, die nie codiert.
(
stringByReplacingPercentEscapesUsingEncoding:
dekodiert die Prozent entweicht)InformationsquelleAutor der Antwort Evan Mulawski
swift 2 :
InformationsquelleAutor der Antwort Mojtabye
Außerdem können Sie die PercentEncoder Bibliothek von Cocoapods.
Swift 4
Zählen die Bibliothek, um Ihre Podfile:
pod PercentEncoder
Importieren Sie die Bibliothek PercentEncoder
import PercentEncoder
Klasse ViewController{
...
}
Ersetzen Sie das " + " - Zeichen durch "%20" und verwenden Sie die Methode "ped_decodeURI"
"- Weg+mit+Leerzeichen".replacingOccurrences (: "+", mit: "%20").ped_decodeURI()
Wird es wieder "Pfad mit Leerzeichen"
Hier der link zur Referenz: https://cocoapods.org/pods/PercentEncoder
InformationsquelleAutor der Antwort Fernando Perez