0
試圖包含一個轉義Unicode字符串轉換(例如:\ U3400)在U + 20000至U + 2B81F的範圍內形成的URL,但它不工作。 U + 3400到U + 9FFF的範圍工作得很好。轉換的Unicode >> U + 9FFF的形成網址
NSString *string1 = @"\u9FFF";
string1 = [string1 stringByReplacingPercentEscapesUsingEncoding:NSUnicodeStringEncoding];
NSURL *url1 = [NSURL URLWithString:[NSString stringWithFormat:@"http://en.wikipedia.org/Search?search=%@", string1]];
NSLog(@"url1: %@", url1);
輸出:URL1:http://en.wikipedia.org/Search?search=%E9%BF%BF
NSString *string2 = @"\u20000";
string2 = [string2 stringByReplacingPercentEscapesUsingEncoding:NSUnicodeStringEncoding];
NSURL *url2 = [NSURL URLWithString:[NSString stringWithFormat:@"http://en.wikipedia.org/Search?search=%@", string2]];
NSLog(@"url2: %@", url2);
輸出:URL2:(空)
基本上,我要的是轉換逃脫統一碼的列表(\ U3400到\ u2B81F)到URL(甚至是NSStrings)。如果還有其他方法可以通過其他字符串轉換手段實現這一點,我會很感激。
你說得對CodaFi,去逃避確實是無用的。我跑了你的線,但我仍然得到一個零字符串'\ u20000'('\ u9FFF'確定。) –
也許是因爲\ u2000是一個空格。 – CodaFi
根據此[鏈接](http://www.unicode.org/cgi-bin/GetUnihanData.pl?codepoint=U%2B20000),\ u20000是中國人的性格。在U + 20000到U + 2B81F的整個範圍內都是相同的行爲,這對應於CJK統一表意文字擴展B,C,D和CJK兼容性表意文字增補(2F800-2FA1F)。 –