2016-11-29 8 views
0

Я ищу способ кодировать строку в UTF8, а затем на базу 64 в Swift 3.xне может кодировать строку в utf8 и utf8 в base64 в быстрой

В быстром 2.x я использовал этот путь:

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

XCode сила меня поставить: NSUTF8StringEncoding.rawValue и тогда результат не является правильным.

Если кто-то имеет решение :)

благодарственное

+0

Вы говорите, что "в Swift 2.x я использовал". Ваш вопрос спрашивает, как написать этот код в Swift 3? – rmaddy

+0

@rmaddy да, я хотел бы сделать это в Swift 3 – Snooze

+0

Вы должны указать, что в вашем вопросе. – rmaddy

ответ

2

В Swift 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 say: Тип 'UInt' не имеет статуса 'utf8' – Snooze

+0

Он отлично работает на странице игровой площадки iOS. Речь идет о iOS (а не о macOS), правильно? – Codo

+1

@Snooze Обратите внимание, что в этом ответе 'NSString' не используется. Используется стандартный Swift 'String'. – rmaddy