2016-11-29 130 views
0

为Base64我正在寻找一种方式来编码字符串UTF8,然后在斯威夫特3.X不能编码字符串UTF8和UTF8在迅速

基地64在迅速2.X我就是用这个方式:

let pass: NSString = "test"  
let variable: NSString = (pass.dataUsingEncoding(NSUTF8StringEncoding)?.base64EncodedStringWithOptions([]))! 

XCode迫使我把:NSUTF8StringEncoding.rawValue然后结果是不正确的。

如果有人有一个解决方案:)

感谢

+0

你说 “在斯威夫特2.X我使用”。你的问题是问如何在Swift 3中编写这段代码? – rmaddy

+0

@rmaddy是的,我想在Swift 3中做到这一点 – Snooze

+0

你应该在你的问题中说明。 – rmaddy

回答

2

在斯威夫特3,它的整洁现在:

let pass = "test" 
let variable = pass.data(using: .utf8)!.base64EncodedString() 

,你可能想用更好的命名变量比变量

如果您需要处理NSString

let pass: NSString = "test" 
let variable = (pass as String).data(using: .utf8)!.base64EncodedString() 
+1

xcode说:输入'UInt'没有成员'utf8' – Snooze

+0

它在iOS Playground页面中工作得很好。它是关于iOS(而不是macOS)的,对吧? – Codo

+1

@Snooze请注意,在这个答案中,'NSString'没有被使用。一个标准的Swift'字符串正在被使用。 – rmaddy