IOS中对Url进行编码和解码
来源:互联网 发布:c语言中的15优先级表 编辑:程序博客网 时间:2024/05/29 17:10
1.非ARC模式下
- (NSString *)encodeToPercentEscapeString: (NSString *) input
{
// Encode all the reserved characters, per RFC 3986
// (<http://www.ietf.org/rfc/rfc3986.txt>)
NSString *outputStr = (NSString *)
CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)input,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8);
return outputStr;
}
- (NSString *)decodeFromPercentEscapeString: (NSString *) input
{
NSMutableString *outputStr = [NSMutableString stringWithString:input];
[outputStr replaceOccurrencesOfString:@"+"
withString:@" "
options:NSLiteralSearch
range:NSMakeRange(0, [outputStr length])];
return [outputStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
}
2. ARC模式下
- (NSString *)encodeToPercentEscapeString: (NSString *) input
{
NSString* outputStr = (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes(
NULL, /* allocator */
(__bridge CFStringRef)input,
NULL, /* charactersToLeaveUnescaped */
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8);
return outputStr;
}
- (NSString *)decodeFromPercentEscapeString: (NSString *) input
{
NSMutableString *outputStr = [NSMutableString stringWithString:input];
[outputStr replaceOccurrencesOfString:@"+"
withString:@""
options:NSLiteralSearch
range:NSMakeRange(0, [outputStr length])];
return [outputStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
}
转自:http://blog.csdn.net/tianyitianyi1/article/details/17579997
- IOS中对Url进行编码和解码
- IOS中对Url进行编码和解码
- IOS中对Url进行编码和解码
- IOS中对Url进行编码和解码
- 对URL传递的参数进行编码和解码
- ios url 编码和解码
- ios url 编码和解码
- ios url 编码和解码
- ios url 编码和解码
- iOS url编码和解码。
- ios url 编码和解码
- ios url 编码和解码
- JS对URL字符串进行编码/解码
- JAVA 对 URL 进行 编码与解码
- JAVA 对 URL 进行 编码与解码
- 为什么要对URL进行编码、解码
- iOS URL编码和URL解码
- URL传递中文参数乱码----js对url进行编码和解码
- Cocos2dx 小技巧(十五)话说ScrollView的delegate实现过程
- IOS开发---OC语言-㉔autorelease
- Ubuntu APT常用命令
- Java中super的限定作用和引用变量的强制类型转换
- LeetCode[Array]: Spiral Matrix
- IOS中对Url进行编码和解码
- akoj-1221-简单取余
- 如何设置EditPlus保存时不生成bak文件
- IOS开发---OC语言-㉕ autoreleased的应用
- 判断日期是第几天
- 获取图片旋转后的坐标点
- Servlet调试doGet,doPost
- Android实现全屏显示
- windows下使用libtiff