Ios NSURLComponents以获取百分比编码
根据Ios NSURLComponents以获取百分比编码,ios,nsurl,foundation,percent-encoding,Ios,Nsurl,Foundation,Percent Encoding,根据NSURL组件的文档: 如果设置了unencoded属性,则可以获取编码的 通过读取编码的属性值进行等效,反之亦然 我试图获取查询的百分比编码版本和url的路径,但遗漏了一些内容: NSURL * url = [NSURL URLWithString:@"http://google.com"]; NSURLComponents * components = [[NSURLComponents alloc] initWithURL:url resolvingAgainstBaseURL:YE
NSURL组件的文档
:
如果设置了unencoded属性,则可以获取编码的
通过读取编码的属性值进行等效,反之亦然
我试图获取查询的百分比编码版本和url的路径,但遗漏了一些内容:
NSURL * url = [NSURL URLWithString:@"http://google.com"];
NSURLComponents * components = [[NSURLComponents alloc] initWithURL:url resolvingAgainstBaseURL:YES];
components.query = @"oauth_callback=http://google.com";
NSLog(@"Encoded: %@", [components URL]);
//-> Encoded: http://google.com?oauth_callback=http://google.com
//Does not encode "/" or ":"
哪里会失败?我认为
NSURLComponent
的行为是正确的。
发件人:
在URI(字符后面的部分)的“查询”组件中
例如,“/”仍然被视为保留字符,但通常
没有保留用途,除非特定的URI方案
否则。当输入字符时,不需要对其进行百分比编码
没有保留的目的