UIImage à base64 Encodage de chaîne

Comment convertir UIimage en chaîne encodée en base64? Je n’ai pas pu trouver d’exemples ou de codes détaillés.

Je me demande pourquoi vous n’avez pas trouvé votre question parce que c’est une très vieille question et que vous pouvez la trouver ici et ici .

Quoi qu’il en soit, vous devez d’abord append les catégories NSData à votre projet, disponibles à partir d’ici –

en-tête et implémentation Puis convertissez votre object NSData en NSData la manière suivante:

 NSData *imageData = UIImageJPEGRepresentation(image, 1.0); 

Ensuite, appliquez le codage Base64 pour le convertir en une chaîne codée en base64 :

 NSSsortingng *encodedSsortingng = [imageData base64Encoding]; 

Il y a des changements dans iOS 7 qui permettent de le faire sans utiliser de catégories externes pour prendre en charge le codage / décodage Base64.

Vous pouvez simplement l’écrire directement en utilisant:

 - (NSSsortingng *)base64Ssortingng { return [UIImagePNGRepresentation(self) base64EncodedSsortingngWithOptions:NSDataBase64Encoding64CharacterLineLength]; } 

Vous pouvez suivre le code ci-dessous

 -(NSSsortingng *)imageToNSSsortingng:(UIImage *)image { NSData *imageData = UIImagePNGRepresentation(image); return [imageData base64EncodedSsortingngWithOptions:NSDataBase64Encoding64CharacterLineLength]; } -(UIImage *)ssortingngToUIImage:(NSSsortingng *)ssortingng { NSData *data = [[NSData alloc]initWithBase64EncodedSsortingng:ssortingng options:NSDataBase64DecodingIgnoreUnknownCharacters]; return [UIImage imageWithData:data]; } 
 @implementation UIImage (Extended) - (NSSsortingng *)base64Ssortingng { NSData * data = [UIImagePNGRepresentation(self) base64EncodedDataWithOptions:NSDataBase64Encoding64CharacterLineLength]; return [NSSsortingng ssortingngWithUTF8Ssortingng:[data bytes]]; } @end 

NSData (Base64) a légèrement changé depuis la dernière réponse dans cette discussion.

vous devriez maintenant utiliser:

 NSData *base64EncodedImage = [UIImageJPEGRepresentation(img, 0.8) base64EncodingWithLineLength:0]; 

Swift 3

J’utilise base64EncodedSsortingng () pour convertir l’object Data () en chaîne base64

Pour convertir une image en chaîne base64

  var sample = UIImage(named: "image_logo") let imageData:Data = UIImagePNGRepresentation(sample!)! let base64Ssortingng = imageData.base64EncodedSsortingng() 

lors de la conversion en image en base64 dans iOS la nouvelle ligne “\ n” à partir des chaînes codées en base64:

utilisez ce code:


  UIImage * orginalImage = [info objectForKey: UIImagePickerControllerOriginalImage];



         NSIndexPath * indexPath = [NSIndexPath indexPathForRow: isRowIndex inSection: isSectionIndex];

         UITableViewCell * cell = [jobstable cellForRowAtIndexPath: indexPath];

         UIImageView * tableIMAGE = (UIImageView *) [cell.contentView viewWithTag: 19];

         tableIMAGE.image = orginalImage;



 imageSsortings = [UIImageJPEGRepresentation (tableIMAGE.image, 1) base64Encoding];

 answerARRAY [indexPath.row] = [NSSsortingng ssortingngWithFormat: @ "- 1,% @,% @", answersARRAY [indexPath.row], imageSsortings];

 [self licencierViewControllerAnimated: OUI achèvement: nil];