【发布时间】:2014-01-27 22:17:14
【问题描述】:
在我的应用程序中,我想显示条形码图像。条形码生成发生在 Web 服务器上。因此,iOS 客户端调用 Web 服务来获取条形码图像的二进制 blob 表示。
在 iOS 端,我在响应类的 NSMutableString 属性中接收到 byte[]。此值是基本 x64 编码的。这就是我将其转换为 UIImage 的方法,然后我将在 UIImageViewer 中显示它:
NSData *imageData = [response.barcodeImage dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"Image data%@", imageData);
UIImage *testImage = [[UIImage alloc] initWithData:imageData];
NSLog(@"Image %@", testImage);
第一个 NSLog 的值是这样的:
Image data<6956424f 5277304b 47676f41 4141414e 53556845 55674141 41693041 41414164 43415941 4141426d 44467a32 41414141 41584e53 52304941 72733463 36514141 4141526e
但是第二个 NSLog 输出是:Image (null)
我在这里做错了什么/错过了什么?
谢谢
【问题讨论】:
-
如果
response.barcodeImage代表base64 编码的图像数据,您在哪里尝试将base64 编码的字符串转换为数据?您发布的代码没有进行此类尝试。 -
@rmaddy:这就是我要这样做的地方:NSData *imageData = [response.barcodeImage dataUsingEncoding:NSUTF8StringEncoding];
-
那不做base64转换。
-
@ezile 你从哪里知道这个方法可以进行 Base64 解码? 您是否阅读过它的文档?您是否甚至考虑过?
标签: ios iphone objective-c uiimageview uiimage