我正在使用 Swift 1.2 开发我的 iPhone 应用程序,并且我正在与一个 http 网络服务通信。
我得到的响应是查询字符串格式(键值对)和在 .Net
中编码的 URL。
我可以得到响应,但正在寻找使用 Swift 解码的正确方法。
示例响应如下
status=1&message=The+transaction+for+GBP+12.50+was+successful
尝试通过以下方式解码并获取服务器响应
// This provides encoded response String
var responseString = NSString(data: data, encoding: NSUTF8StringEncoding) as! String
var decodedResponse = responseString.stringByReplacingEscapesUsingEncoding(NSUTF8StringEncoding)!
如何替换字符串中的所有 URL 转义字符?
最佳答案
要编码和解码 url,请在项目的某处创建此扩展:
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 - iOS 中的 URL 解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32974795/