Вот простая функция для iOS для преобразования из UIImage в байтовый массив ->
+ (unsigned char*)UIImageToByteArray:(UIImage*)image; {
unsigned char *imageData = (unsigned char*)(malloc( 4*image.size.width*image.size.height));
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGImageRef imageRef = [image CGImage];
CGContextRef bitmap = CGBitmapContextCreate( imageData,
image.size.width,
image.size.height,
8,
image.size.width*4,
colorSpace,
kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedFirst);
CGContextDrawImage( bitmap, CGRectMake(0, 0, image.size.width, image.size.height), imageRef);
CGContextRelease( bitmap);
CGImageRelease( imageRef);
CGColorSpaceRelease( colorSpace);
return imageData;
}
, как только вы получите данные байтового массива, алгоритм для кодирования base64 прост в реализации, и вы можете прочитатьна это в Википедии.Возможно, есть более простой способ кодирования в base64, я не уверен.http://en.wikipedia.org/wiki/Base64