1、为什么要进行编码:当url中的参数出现中文、
特殊符号&%和空格时不能在网络上进行传输,必须先进行编码;
2、编码过程:
(本文转载自http://blog.csdn.net/xumingwei12345/article/details/9366669 ,感谢原博主!但代码部分我做了一点点修改和添加,原博用的CFURLCreateStringByAddingPercentEscapes方法『有时』需要和CFBridgingRelease结合使用,原因可能是新版之后加入内存自动管理机制所致)
//中文转化编码
NSString *param = @"通州";
NSString *result = (NSString*)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(nil,
(CFStringRef)param, nil,
(CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8));
NSString *tempURL = [@"http://zh.wikipedia.org/wiki/" stringByAppendingString:result];
NSLog(@"%@", tempURL);
url中的中文参数“通州”编码后的结果是:%E9%80%9A%E5%B7%9E
系统编译后结果展示如下:
[868:c07] http://zh.wikipedia.org/wiki/%E9%80%9A%E5%B7%9E