2016-11-29 121 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