2012-03-02 3 views
0

私は引用符のようないくつかの "特殊な"文字を持つURLを持っています。私はこれをしようとすると は:NSURLはnullまたは混乱している文字列のいずれかです

NSURL *url = [NSURL URLWithString:@"http://someurl/%22sometext%22"]; 

urlがnullです。

私はこのとき:

NSURL *url = [NSURL URLWithString:[@"http://someurl/%22sometext%22" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 

を私はこのような恐ろしい出力をgeht:

{タイプ= 15、文字列= http://someurl/%22sometext%22、エンコーディング= 134217984、基地=(NULL)}

誰か助けてくれますか?

+0

最初のURLに問題が何ですか?その仕事は大丈夫です。 – Hector

答えて

1

自分でエンコードしないでください。 NSURL *url = [NSURL URLWithString: [@"http://someurl/\"sometext\"" stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];が動作しています。

しかし、適切なURLエンコード使用の他の機能のために:

- (NSString*) encodeString: (NSString*) string 
{ 
    NSString* result = (NSString*) CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, CFSTR("% '\"?=&+<>;:-"), kCFStringEncodingUTF8); 
    return [result autorelease]; 
} 
+0

ありがとう、これは私の週末安全な:-) – user944351