base64 數據 一般是字符串類型的數據,格式如:data:image/png;base64,xx...........................這樣的數據。
首先,data:image/png;base64, 是固定的前綴數據,需要删除。注意,包含 逗号
其次,對字符串進行換行符、空字符的去除,使其得到一個标準的可(kě)以轉換圖片的 base64 字符串數據。
這樣就可(kě)以在xcode中(zhōng),将base64字符串轉為(wèi)nsdata,再轉為(wèi)uiimage了
//strImgDataNew 為(wèi)base64 NSString //進行首尾空字符串的處理(lǐ) strImgDataNew = [strImgDataNew stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; //去除掉首尾的空白字符和換行字符 //進行空字符串的處理(lǐ) strImgDataNew = [strImgDataNew stringByReplacingOccurrencesOfString:@"\r" withString:@""]; //進行換行字符串的處理(lǐ) strImgDataNew = [strImgDataNew stringByReplacingOccurrencesOfString:@"\n" withString:@""]; //去掉頭部的前綴//data:image/jpeg;base64, (可(kě)根據實際數據情況而定,如果數據有(yǒu)固定的前綴,就執行下面的方法,如果沒有(yǒu)就注銷掉或删除掉) // str = [str substringFromIndex:23]; //23 是根據前綴的具(jù)體(tǐ)字符長(cháng)度而定的。 NSString*encodedImageStr = strImgDataNew; //進行字符串轉data數據 -------NSDataBase64DecodingIgnoreUnknownCharacters NSData *decodedImgData = [[NSData alloc] initWithBase64EncodedString:encodedImageStr options:NSDataBase64DecodingIgnoreUnknownCharacters]; //把data數據轉換成圖片内容 UIImage*decodedImage = [UIImage imageWithData:decodedImgData];