我想转换此字节数据以从中获取图像。 我已经使用了这个base64Encoding方法,但这似乎并没有用。
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
NSString *base64StringEncoder = @"data:image/png;base64,";
base64StringEncoder = [base64StringEncoder stringByAppendingString:[[parserDataContentArray objectAtIndex:indexPath.row] exhibitorByteImageObjectClass]];
NSURL *profilePicURL = [NSURL URLWithString:base64StringEncoder];
NSData *profilePicimageData = [NSData dataWithContentsOfURL:profilePicURL];
if (profilePicimageData.length!=0) {
cell.exhibitorImage.image = [UIImage imageWithData:profilePicimageData];
}
return cell;
}
其中parserDataContentArray是包含已解析数据的可变数组。 和exhibitorByteImageObjectClass是我检查特定标签后我在其上设置节点的NSString属性。
XML看起来像
<PRODUCTION_B_IMAGE>
iVBORw0KGgoAAAANSUhEUgAAAKAAAACPCAYAAAB9NdDOAAAKQ2lDQ1BJQ0MgUHJvZmlsZQAASA2dlndUU1kTwO97L73QEkKREnoNTUoAkRJ6kV5FJSQBQgkYErBXRAVXFBVpig==
</PRODUCTION_B_IMAGE>
答案 0 :(得分:3)
dataWithContentsOfURL实际上并不从URL中获取数据,而是从位于URL的资源中获取数据。这是使用(解码和编码)base64字符串的最简单的包装器之一。
我相信你的NSString包含[parserDataContentArray objectAtIndex:indexPath.row]
中的base64数据。所以试试这个:
NSData *tempData = [NSData dataFromBase64String:[parserDataContentArray objectAtIndex:indexPath.row]];
if (tempData.length!=0) {
cell.exhibitorImage.image = [UIImage tempData];
}