ios - iOS 中的 URL 解码

标签 ios swift urldecode

我正在使用 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/

相关文章:

ios - swift:如何显示 scrollView 的垂直指示器?

ios - 保持 iOS 6 和 iOS 7 支持的最佳方法是什么?

java - Spring boot @PathVariable 不能包含斜杠/分号/百分号字符

java - 对于针对未编码的 URL 执行 URLDecoder 是否有任何顾虑?

objective-c - 如何以编程方式在 iPad 上显示导航 Controller 的下拉列表?

swift - ARKit 3 People Occlusion 是否仅限于 iPhone X 和更新版本?

ios - UISearchBar 未显示在设备上,但显示在模拟器中

swift - NSVisualEffectView 淡入淡出动画

Fiddler2 - 如何对请求正文进行 URlDecode 以便查看?

ios - 当我尝试进行百分比约束时乘数被锁定