当前位置: 首页 > 面试题库 >

URL编码字符串

赵刚豪
2023-03-14
问题内容

我收到一个json数据对象,然后从中提取一个字符串

NSDictionary *jsonDictionary = [NSJSONSerialization JSONObjectWithData:data
                                                               options:0
                                                                 error:nil];
NSString *country=jsonDictionary[@"address"][@"country"];

然后我尝试使该字符串适合在URL中使用

NSString *newCountryString = [country stringByReplacingOccurrencesOfString:@" "  
   withString:@"%%20"];

但它不起作用

如果我对newCountryString进行了硬编码,它将起作用,为什么呢?


问题答案:

用这个 -

NSString *newCountryString = [country stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

代码将使用给定的编码返回接收方的表示形式,以确定将接收方转换为合法URL字符串所需的转义百分比。

有关更多详细信息:https
:
//developer.apple.com/documentation/foundation/nsstring/1415058-stringbyaddingpercentescapesusin

编辑- 在iOS 9中不推荐使用stringByAddingPercentEscapesUsingEncoding。

[country stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]]

迅捷3-

country.addingPercentEncoding( withAllowedCharacters: .urlHostAllowed)

有关更多详细信息:https
:
//developer.apple.com/documentation/foundation/nsstring/1411946-stringbyaddingpercentencodingwitwit?language=objc



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

  • 问题内容: 我正在尝试提交post变量的地方编写bash脚本,但是wget将其视为多个URL,我相信是因为它不是URLENCODED …这是我的基本思想 我遇到了错误,alert.php没有得到post变量,而且它还很糊糊地说 无法解决我无法解决我无法解决尝试..依此类推。 上面的示例是一个简单的sudo示例,但我相信如果可以对其进行url编码,它将通过,我什至尝试了php: 但PHP错误了..任

  • 问题内容: 说我有一个网址 并且我有一个用户输入的查询,例如: 随机词银行 我希望结果是正确编码的URL: 实现此目标的最佳方法是什么?我尝试创建URI / URL对象,但没有一个是正确的。 问题答案: 应该是要走的路。你只需要记住只对单个查询字符串参数名称和/或值进行编码,而不对整个URL 进行编码,请确保对查询字符串参数分隔符和参数名称-值分隔符都不进行编码。 请注意,查询参数中的空格由+而不

  • 假设我有一个URL 并且我有一个用户输入的查询,例如: 随机字500英镑银行$ 我希望结果是一个正确编码的URL: 实现这一点的最佳方法是什么?我尝试了并创建URI/URL对象,但结果都不是很对。

  • 问题内容: 我有一个网址 并且我有一个用户输入的查询,例如: 我希望结果是正确编码的URL: 实现此目标的最佳方法是什么?我尝试创建URI / URL对象,但是没有一个是正确的。 问题答案: 可以使用 。您只需要记住只对单个查询字符串参数名称和/或值进行编码,而不对整个URL 进行编码,请确保对查询字符串参数分隔符&和参数名称-值分隔符都不进行编码=。 请注意,查询参数中的空格由而不是表示,这是合

  • 问题内容: 通过GET参数传递原始base64编码的字符串是否安全? 问题答案: 不,您需要对其进行url编码,因为base64字符串可以包含“ +”,“ =”和“ /”字符,这可能会改变数据的含义-看起来像一个子文件夹。 有效的base64字符如下。