2016-10-25 13 views
2
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) 
} 

コマンドプロンプトでコードを記述する。 use of unresolved identifier NSDataを取得しているSwift 3の正しいコードは何ですか?文字列をbase64にエンコードするチュートリアルのほとんどは機能していません。Swiftの文字列をbase64に変換する3

これはLinuxまたはMacで動作しますか? http://studyswift.blogspot.sg/2016/03/convert-nsdatauint8-to-base64-in-swift.html

+1

を、 'NSData'のほとんどの用途は、' Data'という名前の新しい値の型に変換しました。 – ozgur

+1

@ozgur:Appleプラットフォーム上ではなく、少なくとも名前が変更されておらず、「データ」はNSDataの「スウィフトオーバーレイタイプ」です。しかし、それはLinuxでは異なるかもしれません。 –

+2

'未解決の識別子'を取得した場合、 'foundationをインポートする 'を忘れました – vadian

答えて

9

は、代わりにこれを使用します:スウィフト3では

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

print(base64)// dGVzdDEyMw==\n 
+2

うーん...あなたSwift3.0を使用していますか? –

+0

'オプション:NSData.Base64EncodingOptions(rawValue:0)'があるのはなぜですか?空のオプションセットが必要な場合は '[]'を使うだけで、すべての 'OptionSet'タイプで動作します。さらに、 '.base64EncodedString()'もあります。オプションは指定する必要はありません。 – user28434

+0

はい、タイトルが表示され、私は '' '輸入財団' 'が必要なようですか? –

関連する問題