在Swift中解码一个字符串

Kev*_*nvs 16 ios swift

我怎么能在swift中解码一个字符串?该字符串现在为test%2Enl,但正确的格式为test.nl.

我现在有这个:

 let encodedData = encodedString.dataUsingEncoding(NSUTF16StringEncoding)!
 let attributedOptions = [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType]
 let attributedString = NSAttributedString(data: encodedData, options: attributedOptions, documentAttributes: nil, error: nil)!

 return attributedString.string     
Run Code Online (Sandbox Code Playgroud)

Chr*_*örz 22

您可以使用 stringByReplacingPercentEscapesUsingEncoding

var properString = s.stringByReplacingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!
Run Code Online (Sandbox Code Playgroud)

更新swift 3:removingPercentEncoding改为 使用.

  • Swift 3:`removedPercentEncoding` (22认同)
  • 不推荐使用:使用`stringByRemovingPercentEncoding` (3认同)

Ten*_*Jay 8

在Swift 3中:

let encodedString = "test%2Enl"
let decodedString = encodedString.removingPercentEncoding!
Run Code Online (Sandbox Code Playgroud)

Swift 3在许多Apple API中删除了许多"过剩"的措辞.

在这种情况下,stringByRemovingPercentEncoding被简化为removePercentEncoding.