博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS请求URL 中文转译
阅读量:5887 次
发布时间:2019-06-19

本文共 2370 字,大约阅读时间需要 7 分钟。

URL转译 stringByAddingPercentEscapesUsingEncoding(只对 `#%^{}[]|"<> 加空格共14个字符编码,不包括”&?”等符号), ios9将淘汰。 建议用stringByAddingPercentEncodingWithAllowedCharacters方法

//中文链接NSString *globalURL = [[NSString alloc]initWithFormat:@"http://127.0.0.1:%d/oa/workflow/submit/workflow?requestId=181193&userNumber=01281209&type=submit&remark=这是个什么鬼啊,这是个神",ListenPort];//iOS9.0废弃方法//NSString * encodingString = [globalURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];//转译后的链接NSString * encodingString = [globalURL stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];复制代码

stringByAddingPercentEncodingWithAllowedCharacters需要传一个

NSCharacterSet对象(关于  NSCharacterSet  文章说的很好)

如[NSCharacterSet  URLQueryAllowedCharacterSet]

@interface NSCharacterSet (NSURLUtilities)// 预定义字符集用于六个URL组件和子组件,它们允许百分比编码。 - (nullable NSString *)stringByAddingPercentEncodingWithAllowedCharacters:(NSCharacterSet *)allowedCharacters// 包含URL用户子组件中允许的字符的字符集@property (class, readonly, copy) NSCharacterSet *URLUserAllowedCharacterSet API_AVAILABLE(macos(10.9), ios(7.0), watchos(2.0), tvos(9.0));// 包含URL密码子组件中允许的字符的字符集@property (class, readonly, copy) NSCharacterSet *URLPasswordAllowedCharacterSet API_AVAILABLE(macos(10.9), ios(7.0), watchos(2.0), tvos(9.0));// 包含URL的主机子组件中允许的字符的字符集@property (class, readonly, copy) NSCharacterSet *URLHostAllowedCharacterSet API_AVAILABLE(macos(10.9), ios(7.0), watchos(2.0), tvos(9.0));// 返回一个包含字符的字符集允许URL的路径组件。字符“;”是一种合法的路径,但是建议最好是percent-encoded兼容NSURL(-stringByAddingPercentEncodingWithAllowedCharacters:percent-encode任何‘;’字符如果你通过URLPathAllowedCharacterSet)@property (class, readonly, copy) NSCharacterSet *URLPathAllowedCharacterSet API_AVAILABLE(macos(10.9), ios(7.0), watchos(2.0), tvos(9.0));// 包含URL查询组件中允许的字符的字符集@property (class, readonly, copy) NSCharacterSet *URLQueryAllowedCharacterSet API_AVAILABLE(macos(10.9), ios(7.0), watchos(2.0), tvos(9.0));// 包含URL片段组件中允许的字符的字符集@property (class, readonly, copy) NSCharacterSet *URLFragmentAllowedCharacterSet API_AVAILABLE(macos(10.9), ios(7.0), watchos(2.0), tvos(9.0));@end编码字符范围URLFragmentAllowedCharacterSet  "#%<>[\]^`{|}URLHostAllowedCharacterSet      "#%/<>?@\^`{|}URLPasswordAllowedCharacterSet  "#%/:<>?@[\]^`{|}URLPathAllowedCharacterSet      "#%;<>?[\]^`{|}URLQueryAllowedCharacterSet     "#%<>[\]^`{|}URLUserAllowedCharacterSet      "#%/:<>?@[\]^`复制代码

END

转载地址:http://shmix.baihongyu.com/

你可能感兴趣的文章
webpack资料
查看>>
DotNet加密方式解析--散列加密
查看>>
OpenSSL使用2(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12概念说明)(转)
查看>>
【前端】:HTML
查看>>
SSM框架——使用MyBatis Generator自动创建代码
查看>>
java数据库操作:JDBC的操作
查看>>
35佳以字体为核心的优秀网页设计作品
查看>>
基于OpenCV的形态学开源库 V0.2
查看>>
在ubuntu下安装和配置vsftpd
查看>>
c#中结构体和类的比较
查看>>
Linux磁盘配额
查看>>
JQuery UI的拖拽功能
查看>>
数据驱动销售——个性化推荐引擎
查看>>
C语言标准库函数qsort那点小事
查看>>
HL7 CDA高级培训
查看>>
Android 调用照相机拍照
查看>>
linux的C获取shell执行返回的结果
查看>>
关于spring mybateis 定义resultType="java.util.HashMap"
查看>>
程序员怎么留住健康?
查看>>
(转)C# 把我所积累的类库全部分享给博友(附件已经上传)
查看>>