base64 数据 一般是字符串类型的数据,格式如:data:image/png;base64,xx...........................这样的数据。
首先,data:image/png;base64, 是固定的前缀数据,需要删除。注意,包含 逗号
其次,对字符串进行换行符、空字符的去除,使其得到一个标准的可以转换图片的 base64 字符串数据。
这样就可以在xcode中,将base64字符串转为nsdata,再转为uiimage了
//strImgDataNew 为base64 NSString //进行首尾空字符串的处理 strImgDataNew = [strImgDataNew stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; //去除掉首尾的空白字符和换行字符 //进行空字符串的处理 strImgDataNew = [strImgDataNew stringByReplacingOccurrencesOfString:@"\r" withString:@""]; //进行换行字符串的处理 strImgDataNew = [strImgDataNew stringByReplacingOccurrencesOfString:@"\n" withString:@""]; //去掉头部的前缀//data:image/jpeg;base64, (可根据实际数据情况而定,如果数据有固定的前缀,就执行下面的方法,如果没有就注销掉或删除掉) // str = [str substringFromIndex:23]; //23 是根据前缀的具体字符长度而定的。 NSString*encodedImageStr = strImgDataNew; //进行字符串转data数据 -------NSDataBase64DecodingIgnoreUnknownCharacters NSData *decodedImgData = [[NSData alloc] initWithBase64EncodedString:encodedImageStr options:NSDataBase64DecodingIgnoreUnknownCharacters]; //把data数据转换成图片内容 UIImage*decodedImage = [UIImage imageWithData:decodedImgData];