如何在 iPhone 中对字符串 (NSString) 进行 URL 编码?
当开发基于 API 的 Web 应用程序时,我们肯定需要与多个 Web 服务和 URL 交互。URL 可能包含特殊字符、搜索词、查询、页眉和许多其他内容,具体取决于我们需要的服务。这就是为什么我们需要某种类型的编码,以便我们创建的 URL 和被调用的 URL 相同。
要使用 Objective C 实现相同的功能,我们可以使用 −
#import "NSString+URLEncoding.h"
@implementation NSString (URLEncoding)
-(NSString *)urlEncodeUsingEncoding:(NSStringEncoding)encoding {
return (NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,
(CFStringRef)self, NULL, (CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ", CFStringConvertNSStringEncodingToEncoding(encoding));
}
@end在 Objective C 中实现 URL 编码的另一种方法是 −
NSString *sUrl = @"http://www.myService.com/search.jsp?param= name"; NSString *encod = [sUrl stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
同样,URL 编码可以在 Swift 中实现,如下所示 −
func getURL(str: String ) {
return str.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed)
}它将返回一个经过编码的 URL 字符串,可以用它这样的方式使用,
var sURL = " http://www.myService.com/search.jsp?param= name" print(getURL(sURL))
它将打印以下内容作为结果。
http://www.myService.com/search.jsp?param= name
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
JavaScript
PHP