在iOS开发中,使用NSURLConnection去请求google places api时,如果请求的url中包含中文,则返回的结果为空,URL不能被google识别。
NSString *_urlString = @"http://maps.google服务器端的解码方式配对。
可以使用CFURLCreateStringByAddingPercentEscapes编码URL中参数部分后,再用前面stringByAddingPercentEscapesUsingEncoding编码,应该可以适应多数解码方式。
请求的URL中,还会有很多转义符,也需要处理。
NSString * encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)yourtext, NULL, (CFStringRef)@”!*’();:@&=+$,/?%#[]“, kCFStringEncodingUTF8);
附上一些常用的转义处理:
Javascript下:
转义字符: ‘\’
$转义为\$
XML下:
& —-> \&
< —-> <
> —-> >
‘ —-> '
” —-> "
SQL下(MS Access):
# —-> ##
! —-> !!
‘ —-> ”
在基于SOAP的HTTP服务请求时,经常需要将XML格式的请求信息转义。
相关文章: