我正在Windows 8上重写iPad应用程序。
在xcode中有:
- (NSString *)urlEncodeString: (NSString *) string{
return (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL,(CFStringRef)string,NULL,CFSTR("!*'();:@&=+$,/?%#[]"),kCFStringEncodingUTF8));
}
我是否认为这部分代码用ASCII代码替换了那些!*'();:@&= + $,/?%#[]符号?
如果有人知道C#,我是否做对了:
string data = Uri.EscapeDataString(myString);
我是否认为这部分代码
!*'();:@&=+$,/?%#[]
用ASCII代码替换了符号?
并非完全正确:参数4的参数CFURLCreateStringByAddingPercentEscapes
指定了非转义字符,这些字符不是基于RFC 3986的合法URL字符。由于字符串传递的字符不受RFC 3986的百分比编码,结果将继续与通过转义C#中的URI所获得的结果不同。
如果有人知道C#,我在做对吗?
尽管该Uri.EscapeUriString
方法将使某些合法的RFC 3986字符未编码,但该方法看起来似乎是更好的匹配。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句