当前位置: 首页 > 编程笔记 >

如何在iPhone中对字符串(NSString)进行URL编码?

白彦
2023-03-14
本文向大家介绍如何在iPhone中对字符串(NSString)进行URL编码?,包括了如何在iPhone中对字符串(NSString)进行URL编码?的使用技巧和注意事项,需要的朋友参考一下

在开发基于API的Web应用程序时,我们绝对需要与多个Web服务和URL相交。网址可能包含特殊字符,搜索字词,查询,标题和许多其他内容,具体取决于我们所需的服务。这就是为什么我们需要某种编码,以便我们创建的URL和被调用的URL是相同的。

为了达到目标C的相同要求,我们可以使用-

#import "NSString+URLEncoding.h"
@implementation NSString (URLEncoding)
-(NSString *)urlEncodeUsingEncoding:(NSStringEncoding)encoding {
   return (NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,
   (CFStringRef)self, NULL, (CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ", CFStringConvertNSStringEncodingToEncoding(encoding));
}
@end

在目标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
 类似资料:
  • 问题内容: 我正在搜索页面,您可以在其中输入搜索查询并将表单提交到。什么PHP函数是最好的,我应该使用它对搜索查询进行编码/解码? 问题答案: 对于URI查询,请使用;对于其他任何事情,请使用/。 和之间的区别是 根据 application/x-www-form-urlencoded编码(空格用编码),而 根据简单的 Percent-Encoding编码 (空格使用编码)。

  • 我想为我的网站创建一个编码的网址。例如,对于这个URL:"http://google.com/index.html" 我想通过URL编码将此URL提供给客户端。

  • 不执行该作业。 我试着用: 我真的不知道如何处理这件事。 更新: 然后我将它从DB中提取为$data。

  • 我使用javascript/jquery填充包含元数的dom元素: 我如何摆脱url编码,例如“h%e4nde”,而使用“hände”?我试过了 但似乎都不起作用... 多谢帮忙。

  • 问题内容: 我需要使用Java代码对URL进行编码,以避免使用特殊字符,例如空格和%和&… etc 问题答案: URL的构造很棘手,因为URL的不同部分对允许使用什么字符有不同的规则:例如,加号保留在URL的查询部分中,因为它表示空格,但在URL的路径部分中保留了一个空格。加号没有特殊含义,空格编码为“%20”。 RFC2396解释(在2.4.2节中),完整的URL始终采用其编码形式:您获取各个组

  • 请检查上面的结果输出。如您所见,在之后,它显示。但是我需要显示而不是。我尝试了两种方法,但结果是一样的。 已经检查了以下问题, MySQL排序字符串号 从VARCHAR强制转换为int-MySQL