在Swift 3中将字符串转换为base64

时间:2016-10-25 08:07:17

标签: swift string swift3 base64

let strsize = 10_000_000
let tries = 100
var longstring:String = "a"

for i in 1...strsize {
longstring += "a"
}

for i in 1..<2 {
let basestring = NSData(base64EncodedString: longstring, options: .IgnoreUnknownCharacters)
print(basestring)
}

在命令提示符下编写代码。为Swift 3编写的正确代码是什么,我得到use of unresolved identifier NSData。关于将字符串编码为base64的大多数教程都没有工作。

这适用于Linux或Mac吗? http://studyswift.blogspot.sg/2016/03/convert-nsdatauint8-to-base64-in-swift.html

3 个答案:

答案 0 :(得分:10)

请改用:

let longstring = "test123"
let data = (longstring).data(using: String.Encoding.utf8)
let base64 = data!.base64EncodedString(options: NSData.Base64EncodingOptions(rawValue: 0))

print(base64)// dGVzdDEyMw==\n

答案 1 :(得分:0)

此字符串扩展可以提供帮助。

extension String {
    //Base64 decode
    func fromBase64() -> String? {
            guard let data = Data(base64Encoded: self) else {
                    return nil
            }
            return String(data: data, encoding: .utf8)
    }

    //Base64 encode
    func toBase64() -> String {
            return Data(self.utf8).base64EncodedString()
    }
 }

使用方法。

let str = "Hello World"
str.toBase64().fromBase64()

答案 2 :(得分:-1)

在Swift 4.2和Xcode 10.1中

print(OneHotEncoder().fit_transform(X_train['Customer']))