[解決済み】UIImageとBase64文字列の変換について
2022-04-04 21:08:07
質問
を変換する方法を知っている人はいますか?
UIImage
をBase64文字列に変換し、それを逆変換してください。
私は以下のコードを持っています。エンコード前の元の画像は良いですが、私はそれをエンコードしてデコードした後に空白の画像を得るだけです。
NSData *imageData = UIImagePNGRepresentation(viewImage);
NSString *b64EncStr = [self encode: imageData];
NSString *base64String = [self encodeBase64:imageData];
解決方法は?
スウィフト
まず、画像のNSDataを用意する必要がある。
//Use image name from bundle to create NSData
let image : UIImage = UIImage(named:"imageNameHere")!
//Now use image to create into NSData format
let imageData:NSData = UIImagePNGRepresentation(image)!
//OR next possibility
//Use image's path to create NSData
let url:NSURL = NSURL(string : "urlHere")!
//Now use image to create into NSData format
let imageData:NSData = NSData.init(contentsOfURL: url)!
Swift 2.0 >エンコーディング
let strBase64:String = imageData.base64EncodedStringWithOptions(.Encoding64CharacterLineLength)
Swift 2.0 >デコード
let dataDecoded:NSData = NSData(base64EncodedString: strBase64, options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters)!
Swift 3.0 >デコード
let dataDecoded : Data = Data(base64Encoded: strBase64, options: .ignoreUnknownCharacters)!
エンコーディング :
let strBase64 = imageData.base64EncodedString(options: .lineLength64Characters)
print(strBase64)
デコード :
let dataDecoded:NSData = NSData(base64EncodedString: strBase64, options: NSDataBase64DecodingOptions(rawValue: 0))!
let decodedimage:UIImage = UIImage(data: dataDecoded)!
print(decodedimage)
yourImageView.image = decodedimage
Swift 3.0
let dataDecoded : Data = Data(base64Encoded: strBase64, options: .ignoreUnknownCharacters)!
let decodedimage = UIImage(data: dataDecoded)
yourImageView.image = decodedimage
オブジェクティブC
iOS7 >バージョン
を使用することができます。
NSData's
base64EncodedStringWithOptions
エンコーディング :
- (NSString *)encodeToBase64String:(UIImage *)image {
return [UIImagePNGRepresentation(image) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
}
デコード :
- (UIImage *)decodeBase64ToImage:(NSString *)strEncodeData {
NSData *data = [[NSData alloc]initWithBase64EncodedString:strEncodeData options:NSDataBase64DecodingIgnoreUnknownCharacters];
return [UIImage imageWithData:data];
}
iOS 6.1および<バージョン
最初のオプション
: 使用方法
これ
へのリンク
encode
と
decode
イメージ
追加
ベース64
クラスを
project
.
エンコーディング :
NSData* data = UIImageJPEGRepresentation(yourImage, 1.0f);
NSString *strEncoded = [Base64 encode:data];
デコード :
NSData* data = [Base64 decode:strEncoded ];;
image.image = [UIImage imageWithData:data];
もう一つの選択肢
: 使用方法
QSUtilities
に対して
encoding
と
decoding
関連
-
[解決済み】iOS 9.0より前のUIStackView
-
[解決済み] UIViewController viewDidLoad vs. viewWillAppear。適切な役割分担とは?
-
[解決済み] Swift の performSegueWithIdentifier が動作しない。
-
[解決済み] Swiftでbase64StringをStringに変換する方法とは?
-
[解決済み] アトミック属性と非アトミック属性の違いは何ですか?
-
[解決済み] base64文字列をエンコード、デコードするにはどうしたらいいですか?
-
[解決済み] バイナリデータをJSON文字列で。Base64より優れたもの
-
[解決済み] JavaScriptで画像をBase64文字列に変換するにはどうすればよいですか?
-
[解決済み】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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Xcode - 'NSUnknownKeyException', reason: ... this class is not key value coding-compliant for the key X" エラーの修正方法とは?
-
[解決済み】 libc++abi.dylib: NSException 型のキャッチできない例外で終了する (lldb)
-
[解決済み] 「シミュレータで実行すると、「インストールされているプロビジョニングプロファイルが、インストールされているiOS署名アイデンティティと一致しません。
-
[解決済み] Xcodeで "No such module "というエラーが出るが、フレームワークはある
-
[解決済み] UICollectionView: 非Nilのレイアウトパラメータで初期化する必要があります。
-
[解決済み] 指定されたホスト名を持つサーバーが見つからなかった
-
[解決済み] SwiftUI vs Interface Builderとストーリーボード【非公開
-
[解決済み] NSIntegerからNSStringデータ型に変換するにはどうすればよいですか?
-
[解決済み] UILabelにスペース/パディングを追加する
-
[解決済み] Xcode 6: iOS 8.1 The Developer Disk Imageをマウントできませんでした。