Подтвердить что ты не робот

UIImage для base64 Кодирование строк

Как преобразовать UIimage в кодировку base64? Я не мог найти никаких примеров или кодов с подробным описанием.

4b9b3361

Ответ 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];