UIImage для base64 Кодирование строк
Как преобразовать UIimage
в base64? Я не мог найти никаких примеров или кодов с подробным описанием.
- Как размыть сцену в SpriteKit?
- К ARC или не к ARC? Каковы плюсы и минусы?
- Как прокрутить UITableView в определенную позицию
- Класс размера для iPad-портрета и ландшафтных режимов
- Как отправить данные json в запрос Http с помощью NSURLRequest
- Собственное использование приложения делегата приложения iPhone
- Как установить плагин Xcode для автоматического форматирования кода
- iOS: конвертировать UTC NSDate в локальный часовой пояс
Интересно, почему вы не нашли свой вопрос, потому что это очень старый вопрос и можно найти здесь и здесь .
В любом случае, вы должны сначала добавить категории NSData
в свой проект, которые доступны здесь –
заголовок и реализация Затем преобразуйте объект UIImage
в NSData
следующим образом:
NSData *imageData = UIImageJPEGRepresentation(image, 1.0);
Затем примените кодировку Base64, чтобы преобразовать ее в кодировку base64
:
NSString *encodedString = [imageData base64Encoding];
В iOS 7 есть изменения, которые позволяют делать это без использования каких-либо внешних категорий для поддержки кодирования / декодирования Base64.
Вы можете просто написать его напрямую, используя:
- (NSString *)base64String { return [UIImagePNGRepresentation(self) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]; }
Вы можете следовать ниже кода
-(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]; }
@implementation UIImage (Extended) - (NSString *)base64String { NSData * data = [UIImagePNGRepresentation(self) base64EncodedDataWithOptions:NSDataBase64Encoding64CharacterLineLength]; return [NSString stringWithUTF8String:[data bytes]]; } @end
NSData (Base64) немного изменился со времени последнего ответа в этом streamе.
вы должны теперь использовать:
NSData *base64EncodedImage = [UIImageJPEGRepresentation(img, 0.8) base64EncodingWithLineLength:0];
Swift 3
Я использую base64EncodedString () для преобразования объекта Data () в строку base64
Чтобы преобразовать изображение в строку base64
var sample = UIImage(named: "image_logo") let imageData:Data = UIImagePNGRepresentation(sample!)! let base64String = imageData.base64EncodedString()
при преобразовании на изображение в 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]; answerARRAY [indexPath.row] = [NSString stringWithFormat: @ "- 1,% @,% @", answerARRAY [indexPath.row], imageStris]; [self rejectViewControllerAnimated: YES завершение: nil];