¿Alguien sabe cómo convertir un UIImage
a una cadena Base64 y luego invertirlo?
Tengo el siguiente código; la imagen original antes de la codificación es buena, pero solo obtengo una imagen en blanco después de codificarla y decodificarla.
NSData *imageData = UIImagePNGRepresentation(viewImage);
NSString *b64EncStr = [self encode: imageData];
NSString *base64String = [self encodeBase64:imageData];
Respuestas:
Rápido
Primero necesitamos tener NSData de imagen
Swift 2.0> Codificación
Swift 2.0> Decodificación
Swift 3.0> Decodificación
Codificación :
Decodificación :
Swift 3.0
C objetivo
iOS7> versión
Puedes usar
NSData's
base64EncodedStringWithOptions
Codificación :
Decodificación :
iOS 6.1 y <versión
Primera opción : use este enlace
encode
edecode
imagenAgregue la clase Base64 en su
project
.Codificación :
Decodificación :
Otra opción : usar QSUtilities para
encoding
ydecoding
fuente
Base64
La clase duerme para siempre, siempre fuerzo bastante xcode si uso esto incluso después de hacer que la calidad de la imagen sea 0.001fdata:image/jpeg;base64,
Método de extensión Swift 4.2
XCode 9.1 y Swift 4.0
fuente
Swift 5
Codificación
Descodificación
Swift 4
Codificación
Descodificación
fuente
SWIFT 3.0, XCODE 8.0
Reemplace la cadena con su URL. y testImage es una salida de ImageView
Espero que ayude, gracias.
fuente
Swift iOS8
fuente
Swift 3.0
Para convertir una imagen a una cadena base64
Probado en el patio de recreo
fuente
fuente
En swift 2.0 use esta extensión (crédito a Jonas Franz)
fuente
En Swift 3.0 y Xcode 8.0
Codificación:
Decodificación:
fuente
Extensión rápida:
fuente
let imageData = UIImagePNGRepresentation(ImageView.image!); let strBase64:String = imageData!.base64EncodedString()
Swift 4
fuente
Swift 5.
fuente
Versión rápida - crea base64 para imagen
En mi opinión, implícitamente desempaquetado Opcional en caso de
UIImagePNGRepresenatation()
que no sea seguro, por lo que recomiendo usar una extensión como la siguiente:fuente
fuente
En Swift 3.0
fuente
Probé todas las soluciones, ninguna funcionó para mí (usando Swift 4), esta es la solución que funcionó para mí, si alguien en el futuro se enfrenta al mismo problema.
fuente
Swift 4.2 | Xcode 10
fuente
Swift 5, Xcode 10.
fuente
fuente
Para iOS 7+, Objective-C, aquí se explica cómo realizar la conversión comenzando con una URL de imagen:
fuente
Swift 3.0 y Xcode 8.0
fuente
Para el código Base64 como:
Utilice el código Swift5.0:
fuente
Es muy bueno entender si pasas el prefijo como dijo Tyler Sheaffer . Pero por alguna razón, es posible que necesite este prefijo que describe el tipo mime al comienzo de la cadena base64, por lo que sugiero que este código pase algunas opciones antes de codificar ( Swift 5 ):
fuente