【发布时间】:2015-06-04 14:04:07
【问题描述】:
我想将字符串转换为 Base64。我在几个地方找到了答案,但它在 Swift 中不再起作用。我正在使用 Xcode 6.2。我相信答案可能适用于以前的 Xcode 版本,而不是 Xcode 6.2。
有人可以指导我在 Xcode 6.2 中执行此操作吗?
我找到的答案是这样的,但它在我的 Xcode 版本中不起作用:
var str = "iOS Developer Tips encoded in Base64"
println("Original: \(str)")
// UTF 8 str from original
// NSData! type returned (optional)
let utf8str = str.dataUsingEncoding(NSUTF8StringEncoding)
// Base64 encode UTF 8 string
// fromRaw(0) is equivalent to objc 'base64EncodedStringWithOptions:0'
// Notice the unwrapping given the NSData! optional
// NSString! returned (optional)
let base64Encoded = utf8str.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.fromRaw(0)!)
println("Encoded: \(base64Encoded)")
// Base64 Decode (go back the other way)
// Notice the unwrapping given the NSString! optional
// NSData returned
let data = NSData(base64EncodedString: base64Encoded, options: NSDataBase64DecodingOptions.fromRaw(0)!)
// Convert back to a string
let base64Decoded = NSString(data: data, encoding: NSUTF8StringEncoding)
println("Decoded: \(base64Decoded)")
参考:http://iosdevelopertips.com/swift-code/base64-encode-decode-swift.html
【问题讨论】:
-
Swift 扩展简洁且方便。 stackoverflow.com/a/46969102/1996294