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
答案 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']))