在iOS7中编码UIImage并在Java(Base64)中解码

在iOS7中编码UIImage并在Java(Base64)中解码,java,ios,swing,uiimage,Java,Ios,Swing,Uiimage,我正在尝试将UIImage(从iPhone的摄像头拍摄)发送到Java服务器,并将其显示在JFrame中 这可能与编码选项有关,因为Xcode和Eclipse中的字符串略有不同。xCode字符串有“+”表示空格,但在Eclipse中,它有“”表示空格 在Objective-C中 UIImage *image = info[UIImagePickerControllerEditedImage]; NSData *imageData = UIImagePNGRepresentation([temp

我正在尝试将UIImage(从iPhone的摄像头拍摄)发送到Java服务器,并将其显示在JFrame中

这可能与编码选项有关,因为Xcode和Eclipse中的字符串略有不同。xCode字符串有“+”表示空格,但在Eclipse中,它有“”表示空格

在Objective-C中

UIImage *image = info[UIImagePickerControllerEditedImage];
NSData *imageData = UIImagePNGRepresentation([temp objectForKey:@"photo"]);
NSString *base64StringOfImage = [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
然后,我将这个json格式的NSString发送到Java

在Java中

byte[] imageBytes = Base64.decodeBase64(jsonPhoto.getString("photo"));
BufferedImage img = ImageIO.read(new ByteArrayInputStream(imageBytes));
我在BuffereImage img行中遇到此错误:

javax.imageio.IIOException: Error reading PNG image data
如果有人能告诉我如何解决这个问题,那就太好了。

我知道了

byte[] imageBytes = Base64.decodeBase64(jsonPhoto.getString("photo").replace(' ', '+'));
我想出来了

byte[] imageBytes = Base64.decodeBase64(jsonPhoto.getString("photo").replace(' ', '+'));

我可以知道你用的是哪个Base64类吗?我在java 7中找不到Base64类。我可以知道您使用的是哪个Base64类吗?我在java 7中找不到Base64类。