ios中中文Url编码
来源:互联网 发布:win10如何重置网络配置 编辑:程序博客网 时间:2024/04/29 06:09
[NSURLURLWithString:urlString]生成URL对象时,iOS客户端不能正确进行网络请求,网上找到的URLEncode方法又不能完全解决问题.
方法1:
NSString* encodedString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
方法2:
NSString * encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)urlString,NULL,NULL,kCFStringEncodingUTF8);
这两种方法当urlString里含有中文时URL编码是正确的,但是如果其中含有已转义的%等符号时,又会再次转义而导致错误.
查看方法2参数说明:
CFStringRef CFURLCreateStringByAddingPercentEscapes(CFAllocatorRef allocator,CFStringRef originalString, CFStringRef charactersToLeaveUnescaped,CFStringRef legalURLCharactersToBeEscaped,CFStringEncoding encoding);
因此做出修改,写出方法:
NSString *encodedString = (NSString *)
CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)urlString,
(CFStringRef)@"!$&'()*+,-./:;=?@_~%#[]",
NULL,
kCFStringEncodingUTF8);
如果在所有的类里都要用到这个方法,可以写成category,然后在头文件import "NSString+URL.h" 即可调用.
NSString+URL.h 文件
- @interface NSString (URL)
- - (NSString *)URLEncodedString;
- @end
- #import "NSString+URL.h"
- @implementation NSString (URL)
- - (NSString *)URLEncodedString
- {
- NSString *encodedString = (NSString *)
- CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
- (CFStringRef)self,
- (CFStringRef)@"!$&'()*+,-./:;=?@_~%#[]",
- NULL,
- kCFStringEncodingUTF8);
- return encodedString;
- }
- @end
- ios中中文Url编码
- iOS 中url中文编码问题
- iOS中url中文编码问题
- iOS url中文编码
- java url 编码中只编码中文
- IOS中URL的编码,对RUL中的中文以及字符进行编码处理
- iOS中URL编码问题
- iOS中URL编码问题
- IOS学习 中文URL编码和解码
- java中url中文编码问题
- url中中文字符编码和解码
- IOS把url中含有的中文字符转化为UTF8编码方法
- IOS把url中含有的中文字符转化为UTF8编码方法
- iOS把url中含有的中文字符转化为UTF8编码方法
- Flex中 encodeURI 对url进行编码,中文url
- Flex中 encodeURI 对url进行编码,中文url
- Flex中 encodeURI 对url进行编码,中文url
- IOS中url的编码,解码问题
- 宏定义 宏参数
- 3991. Eat or Study toj
- html中插入mediaplayer
- Junit 3.x的使用
- linux Shell编程中常用的数学计算方法
- ios中中文Url编码
- 51单片机与PC通信要注意的地方
- Python glob模块的说明
- VS2010 Boost编译安装(转)
- 行业知识之NFC技术对比
- Cobar分布式关系型数据库中间件的简单应用
- 组播 广播 单播
- iOS: NSData的方法initWithBytesNoCopy:length:freeWhenDone:
- 单链表逆转,约瑟夫环等