iOS中的URL解码 [英] URL decode in iOS
本文介绍了iOS中的URL解码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用Swift 1.2来开发我的iPhone应用程序,并且正在与http网络服务进行通信。
I am using Swift 1.2 to develop my iPhone application and I am communicating with a http web service.
我得到的响应是查询字符串格式(密钥) -value对)和以 .Net
编码的URL。
The response I am getting is in query string format (key-value pairs) and URL encoded in .Net
.
我可以得到响应,但是看看使用Swift解码的正确方法。
I can get the response, but looking the proper way to decode using Swift.
示例响应为关注
status=1&message=The+transaction+for+GBP+12.50+was+successful
尝试以下方式解码并获得服务器响应
Tried following way to decode and get the server response
// This provides encoded response String
var responseString = NSString(data: data, encoding: NSUTF8StringEncoding) as! String
var decodedResponse = responseString.stringByReplacingEscapesUsingEncoding(NSUTF8StringEncoding)!
如何替换字符串中的所有网址转义字符?
How can I replace all URL escaped characters in the string?
推荐答案
要编码和解码网址,请在项目的某处创建此扩展:
To encode and decode urls create this extention somewhere in the project:
Swift 2.0
extension String
{
func encodeUrl() -> String
{
return self.stringByAddingPercentEncodingWithAllowedCharacters( NSCharacterSet.URLQueryAllowedCharacterSet())
}
func decodeUrl() -> String
{
return self.stringByRemovingPercentEncoding
}
}
Swift 3.0
extension String
{
func encodeUrl() -> String
{
return self.addingPercentEncoding( withAllowedCharacters: NSCharacterSet.urlQueryAllowed())
}
func decodeUrl() -> String
{
return self.removingPercentEncoding
}
}
Swift 4.1
extension String
{
func encodeUrl() -> String?
{
return self.addingPercentEncoding( withAllowedCharacters: NSCharacterSet.urlQueryAllowed)
}
func decodeUrl() -> String?
{
return self.removingPercentEncoding
}
}
这篇关于iOS中的URL解码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文