Alguém sabe como converter um UIImage
para uma seqüência de caracteres Base64 e, em seguida, invertê-lo?
Eu tenho o código abaixo; a imagem original antes da codificação é boa, mas só recebo uma imagem em branco depois de codificá-la e decodificá-la.
NSData *imageData = UIImagePNGRepresentation(viewImage);
NSString *b64EncStr = [self encode: imageData];
NSString *base64String = [self encodeBase64:imageData];
Respostas:
Rápido
Primeiro precisamos ter o NSData da imagem
Swift 2.0> Codificação
Swift 2.0> Decodificação
Swift 3.0> Decodificação
Codificação :
Decodificação :
Swift 3.0
Objetivo-C
iOS7> versão
Você pode usar
NSData's
base64EncodedStringWithOptions
Codificação :
Decodificação :
iOS 6.1 e <versão
Primeira opção : use este link para
encode
edecode
imagemAdicione a classe Base64 ao seu
project
.Codificação :
Decodificação :
Outra opção : use QSUtilities para
encoding
edecoding
fonte
Base64
Classe dorme para sempre, eu sempre forçar bastante xcode se eu usar esse mesmo depois de fazer a qualidade de imagem para 0.001fdata:image/jpeg;base64,
Método de extensão Swift 4.2
XCode 9.1 e Swift 4.0
fonte
SWIFT 3.0, XCODE 8.0
Substitua String pelo seu URL. e testImage é uma saída do ImageView
Espero que ajude obrigado.
fonte
Swift 5
Codificação
Decodificação
Swift 4
Codificação
Decodificação
fonte
Swift iOS8
fonte
Swift 3.0
Para converter imagem em sequência base64
Testado no playground
fonte
fonte
No swift 2.0, use esta extensão (crédito para Jonas Franz)
fonte
No Swift 3.0 e no Xcode 8.0
Codificação:
Decodificação:
fonte
Extensão rápida:
fonte
let imageData = UIImagePNGRepresentation(ImageView.image!); let strBase64:String = imageData!.base64EncodedString()
Swift 4
fonte
Swift 5.
fonte
Versão Swift - crie base64 para imagem
Na minha opinião Implicitly Unwrapped Opcional no caso de
UIImagePNGRepresenatation()
não é seguro, então eu recomendo usar a extensão como abaixo:fonte
fonte
No Swift 3.0
fonte
Tentei todas as soluções, nenhuma funcionou para mim (usando o Swift 4), essa é a solução que funcionou para mim, se alguém no futuro enfrentar o mesmo problema.
fonte
Swift 4.2 | Xcode 10
fonte
Swift 5, Xcode 10.
fonte
fonte
Para o iOS 7 ou superior, Objective-C, veja como fazer a conversão começando com um URL de imagem:
fonte
Swift 3.0 e Xcode 8.0
fonte
Para o código Base64 como:
Use o código Swift5.0:
fonte
É muito bom entender que você passa o prefixo, como Tyler Sheaffer disse. Mas, por alguma razão, você pode precisar desse prefixo que descreva o tipo mime no início da string base64, por isso sugiro que esse trecho de código passe algumas opções antes da codificação ( Swift 5 ):
fonte