[解決済み] Swiftでbase64StringをStringに変換する方法とは?
2022-02-18 07:55:01
質問
NSDataでWebサービスの応答からbase64Stringを受信していますが、swiftでそのbase64StringをStringに変換する方法は?
//Code
var jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as! NSDictionary // Response JSON from webservice
var base64String : String = ""
base64String = jsonResult["Base64String"] as! String // Retrieve base64String as string from json response
println("Base64String Alone: \(base64String)")
// Code to decode that base64String
let decodedData = NSData(base64EncodedString: base64String, options: NSDataBase64DecodingOptions(rawValue: 0))
println("Decoded: \(decodedData)")
let decodedString = NSString(data: decodedData!, encoding: NSUTF8StringEncoding)
println(decodedString) // Prints nil
テキストだけのファイルではbase64Stringのエンコード、デコードはうまくいきますが、何らかの表形式や画像を含むファイルではエンコード、デコードともに無効なbase64Stringを与えてしまいます。どのようにすれば、ファイルの内容が何であれ、base64Stringエンコードおよびデコードに変換できるのでしょうか? ファイル形式は、doc, docx, pdf, txtです。
よろしくお願いします。
解決方法は?
これを試してみてください
let base64Encoded = "YW55IGNhcm5hbCBwbGVhc3VyZS4="
let decodedData = Data(base64Encoded: base64Encoded)!
let decodedString = String(data: decodedData, encoding: .utf8)!
print(decodedString)
println(decodedString)
Base64でエンコードされた文字列が有効であることを確認します。
関連
-
[解決済み] Fatal error.とは何ですか?Unexpectedly found nil while unwrapping an Optional value" とはどういう意味ですか?
-
[解決済み] base64文字列をエンコード、デコードするにはどうしたらいいですか?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Swiftで#pragmaマーク?
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] SwiftでStringを配列に分割する?
-
[解決済み] JavaScriptで画像をBase64文字列に変換するにはどうすればよいですか?
-
[解決済み] SwiftでIntをStringに変換する
-
[解決済み】Node.jsでBase64エンコードを行うにはどうすればよいですか?
-
[解決済み】JavaScriptで文字列をBase64にエンコードするにはどうすればいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] XCTest の基礎となるモジュールをロードできない
-
[解決済み] Swiftの辞書にキーが含まれているかどうかを判断し、その値を取得する。
-
[解決済み] Swift 3、Swift 4、それ以降で dispatch_sync, dispatch_async, dispatch_after などはどうすればいいですか?
-
[解決済み] Swiftの@selector()?
-
[解決済み] String型のenumを列挙する方法は?
-
[解決済み] Swiftの精密文字列フォーマット指定子
-
[解決済み】SwiftのwillSetとdidSetの目的は何ですか?
-
[解決済み】Swiftで弱参照の配列を宣言するには?
-
[解決済み】Swiftで列挙型の値の名前を取得する方法は?
-
[解決済み] Swiftで文字列をBase64にエンコードするにはどうすればいいですか?