Ich versuche URL codieren Sie eine Zeichenfolge, um eine GET-Anforderung von Objective-C zu bilden.URLEncoding eine Zeichenfolge mit Objective-C
NSString *params = @"'Decoded data!'/foo.bar:baz";
NSRunAlertPanel(@"Error", [params urlEncoded], @"OK", nil, nil);
Dies ist die Kategorie NSString erstreckt
-(NSString *) urlEncoded
{
NSString *encoded = (NSString *)CFURLCreateStringByAddingPercentEscapes(
NULL,
(CFStringRef)self,
NULL,
(CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ",
kCFStringEncodingUTF8);
return encoded;
}
Also das erste Mal, dass ich es betreibe ich
1606410046ecoded 1606410784ata2270.000000foo.bar0X1.001716P-1042baz
aus dem Dialogfeld zurück.
Unmittelbar nachdem ich es wieder laufen bekomme ich diese
1606410046ecoded 1606410944ata227369374562920703448982951250259562309742470533728899744288431318481119278377104028261651081181287077973859930826299575521579020410425419424562236383226511593137467590082636817579938932512039895040.000000foo.bar0X1.66E6156303225P+771baz
Dann, wenn ich es laufen sie wieder zurück in die erste geht. Es ist wirklich komisch.
Wenn params auf @ "&" oder @ "" eingestellt ist, bekomme ich im Dialogfeld eine "2" (ohne Anführungszeichen) zurück.
Gibt es auch eine Möglichkeit, dass die% Zeichen im Alarmdialog angezeigt werden können?
Dank
Warum rufst du es zweimal und warum protokollierst du deine Ausgabe nicht, anstatt sie in eine Warnung zu schieben? –