Как преобразовать UIimage
в кодировку base64? Я не мог найти никаких примеров или кодов с подробным описанием.
UIImage для base64 Кодирование строк
Ответ 1
Интересно, почему вы не нашли свой вопрос, потому что это очень старый вопрос и его можно найти здесь.
В любом случае, вам нужно сначала добавить категории NSData
в ваш проект, которые доступны здесь -
заголовок и реализация Затем преобразуйте ваш объект UIImage
в NSData
следующим образом:
NSData *imageData = UIImageJPEGRepresentation(image, 1.0);
А затем примените кодировку Base64, чтобы преобразовать ее в строку в кодировке base64
:
NSString *encodedString = [imageData base64Encoding];
Ответ 2
В iOS 7 есть изменения, которые позволяют делать это без использования каких-либо внешних категорий для поддержки кодирования/декодирования Base64.
Вы можете просто написать его напрямую, используя:
- (NSString *)base64String {
return [UIImagePNGRepresentation(self) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
}
Ответ 3
Вы можете следовать ниже кода
-(NSString *)imageToNSString:(UIImage *)image
{
NSData *imageData = UIImagePNGRepresentation(image);
return [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
}
-(UIImage *)stringToUIImage:(NSString *)string
{
NSData *data = [[NSData alloc]initWithBase64EncodedString:string
options:NSDataBase64DecodingIgnoreUnknownCharacters];
return [UIImage imageWithData:data];
}
Ответ 4
@implementation UIImage (Extended)
- (NSString *)base64String {
NSData * data = [UIImagePNGRepresentation(self) base64EncodedDataWithOptions:NSDataBase64Encoding64CharacterLineLength];
return [NSString stringWithUTF8String:[data bytes]];
}
@end
Ответ 5
NSData (Base64) немного изменился с момента последнего ответа в этом потоке.
теперь вы должны использовать:
NSData *base64EncodedImage = [UIImageJPEGRepresentation(img, 0.8) base64EncodingWithLineLength:0];
Ответ 6
Swift 3
Я использую base64EncodedString() для преобразования объекта Data() в строку base64
Чтобы преобразовать образ в строку base64
var sample = UIImage(named: "image_logo")
let imageData:Data = UIImagePNGRepresentation(sample!)!
let base64String = imageData.base64EncodedString()
Ответ 7
при преобразовании изображения в base64 в ios в новую строку "\n" из закодированных строк base64:
используйте этот код:
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; imageStris = [UIImageJPEGRepresentation(tableIMAGE.image,1)base64Encoding]; answersARRAY[indexPath.row] = [NSString stringWithFormat:@"-1,%@,%@",answersARRAY[indexPath.row],imageStris]; [self dismissViewControllerAnimated:YES completion:nil];