今天在项目开发过程中,需要给webView传一个url,但是web端需要我将url中的一个变量进行urlencoding编码。这个主要原因是怕这个参数中存在一些转义字符,ok!这个没有问题,一开始我只是将其进行简单的utf-8编码,丢过去发现报参数错误。后来经过了一阵研究找到了相应的解决办法,代码如下:
NSString *outputStr = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)[[HJUserManager defaultManager] getToken],
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8));
[[HJUserManager defaultManager] getToken]是一个32字符串来表示用户唯一的标志符。通过上面的编码,经过测试是可以的。