我正在嘗試URL編碼一個字符串以形成來自objective-c的GET請求。URLEncoding一個字符串與Objective-C
NSString *params = @"'Decoded data!'/foo.bar:baz";
NSRunAlertPanel(@"Error", [params urlEncoded], @"OK", nil, nil);
這是擴展的NSString
-(NSString *) urlEncoded
{
NSString *encoded = (NSString *)CFURLCreateStringByAddingPercentEscapes(
NULL,
(CFStringRef)self,
NULL,
(CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ",
kCFStringEncodingUTF8);
return encoded;
}
類別所以我第一次運行它,我回來
1606410046ecoded 1606410784ata2270.000000foo.bar0X1.001716P-1042baz
從該對話框。
緊接着我再次運行它,我得到這個
1606410046ecoded 1606410944ata227369374562920703448982951250259562309742470533728899744288431318481119278377104028261651081181287077973859930826299575521579020410425419424562236383226511593137467590082636817579938932512039895040.000000foo.bar0X1.66E6156303225P+771baz
然後,如果我跑一遍,又回到第一個。這真的很奇怪。
如果參數設置爲@「&」或@「」我只是在對話框中取回「2」(無引號)。
也有一種方法,我可以在警告對話框中顯示%符號嗎?
感謝
你爲什麼叫它兩次,爲什麼你不記錄你的輸出而不是將它放到警報中? – 2010-04-07 07:34:24